collectibles

package
v0.166.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2023 License: MPL-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventCollectiblesOwnershipUpdateStarted           walletevent.EventType = "wallet-collectibles-ownership-update-started"
	EventCollectiblesOwnershipUpdateFinished          walletevent.EventType = "wallet-collectibles-ownership-update-finished"
	EventCollectiblesOwnershipUpdateFinishedWithError walletevent.EventType = "wallet-collectibles-ownership-update-finished-with-error"

	EventOwnedCollectiblesFilteringDone walletevent.EventType = "wallet-owned-collectibles-filtering-done"
	EventGetCollectiblesDetailsDone     walletevent.EventType = "wallet-get-collectibles-details-done"
)

These events are used to notify the UI of state changes

Variables

View Source
var (
	ErrNoProvidersAvailableForChainID = errors.New("no providers available for chainID")
)

Functions

This section is empty.

Types

type CollectibleDataDB added in v0.163.4

type CollectibleDataDB struct {
	// contains filtered or unexported fields
}

func NewCollectibleDataDB added in v0.163.4

func NewCollectibleDataDB(sqlDb *sql.DB) *CollectibleDataDB

func (*CollectibleDataDB) GetData added in v0.163.4

func (*CollectibleDataDB) GetIDsNotInDB added in v0.163.4

func (*CollectibleDataDB) SetData added in v0.163.4

func (o *CollectibleDataDB) SetData(collectibles []thirdparty.CollectibleData) (err error)

type CollectibleDetails added in v0.162.15

type CollectibleDetails struct {
	ID                 thirdparty.CollectibleUniqueID `json:"id"`
	Name               string                         `json:"name"`
	Description        string                         `json:"description"`
	ImageURL           string                         `json:"image_url"`
	AnimationURL       string                         `json:"animation_url"`
	AnimationMediaType string                         `json:"animation_media_type"`
	Traits             []thirdparty.CollectibleTrait  `json:"traits"`
	BackgroundColor    string                         `json:"background_color"`
	CollectionName     string                         `json:"collection_name"`
	CollectionSlug     string                         `json:"collection_slug"`
	CollectionImageURL string                         `json:"collection_image_url"`
}

Combined Collection+Collectible info, used to display a detailed view of a collectible

type CollectibleHeader added in v0.162.15

type CollectibleHeader struct {
	ID                 thirdparty.CollectibleUniqueID `json:"id"`
	Name               string                         `json:"name"`
	ImageURL           string                         `json:"image_url"`
	AnimationURL       string                         `json:"animation_url"`
	AnimationMediaType string                         `json:"animation_media_type"`
	BackgroundColor    string                         `json:"background_color"`
	CollectionName     string                         `json:"collection_name"`
	CollectionSlug     string                         `json:"collection_slug"`
	CollectionImageURL string                         `json:"collection_image_url"`
}

Combined Collection+Collectible info, used to display a basic view of a collectible in a list

type CollectionDataDB added in v0.163.4

type CollectionDataDB struct {
	// contains filtered or unexported fields
}

func NewCollectionDataDB added in v0.163.4

func NewCollectionDataDB(sqlDb *sql.DB) *CollectionDataDB

func (*CollectionDataDB) GetData added in v0.163.4

func (*CollectionDataDB) GetIDsNotInDB added in v0.163.4

func (o *CollectionDataDB) GetIDsNotInDB(ids []thirdparty.ContractID) ([]thirdparty.ContractID, error)

func (*CollectionDataDB) SetData added in v0.163.4

func (o *CollectionDataDB) SetData(collections []thirdparty.CollectionData) (err error)

type ErrorCode added in v0.162.13

type ErrorCode = int
const (
	ErrorCodeSuccess ErrorCode = iota + 1
	ErrorCodeTaskCanceled
	ErrorCodeFailed
)

type FilterOwnedCollectiblesResponse added in v0.162.13

type FilterOwnedCollectiblesResponse struct {
	Collectibles []CollectibleHeader `json:"collectibles"`
	Offset       int                 `json:"offset"`
	// Used to indicate that there might be more collectibles that were not returned
	// based on a simple heuristic
	HasMore   bool      `json:"hasMore"`
	ErrorCode ErrorCode `json:"errorCode"`
}

type GetCollectiblesDetailsResponse added in v0.162.15

type GetCollectiblesDetailsResponse struct {
	Collectibles []CollectibleDetails `json:"collectibles"`
	ErrorCode    ErrorCode            `json:"errorCode"`
}

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager

func NewManager(db *sql.DB, rpcClient *rpc.Client, contractOwnershipProviders []thirdparty.CollectibleContractOwnershipProvider, accountOwnershipProviders []thirdparty.CollectibleAccountOwnershipProvider, collectibleDataProviders []thirdparty.CollectibleDataProvider, collectionDataProviders []thirdparty.CollectionDataProvider, opensea *opensea.Client) *Manager

func (*Manager) FetchAllAssetsByOwner

func (o *Manager) FetchAllAssetsByOwner(chainID walletCommon.ChainID, owner common.Address, cursor string, limit int) (*thirdparty.FullCollectibleDataContainer, error)

func (*Manager) FetchAllAssetsByOwnerAndCollection

func (o *Manager) FetchAllAssetsByOwnerAndCollection(chainID walletCommon.ChainID, owner common.Address, collectionSlug string, cursor string, limit int) (*thirdparty.FullCollectibleDataContainer, error)

func (*Manager) FetchAllAssetsByOwnerAndContractAddress

func (o *Manager) FetchAllAssetsByOwnerAndContractAddress(chainID walletCommon.ChainID, owner common.Address, contractAddresses []common.Address, cursor string, limit int) (*thirdparty.FullCollectibleDataContainer, error)

func (*Manager) FetchAllCollectionsByOwner

func (o *Manager) FetchAllCollectionsByOwner(chainID walletCommon.ChainID, owner common.Address) ([]opensea.OwnedCollection, error)

func (*Manager) FetchAllOpenseaAssetsByOwnerAndCollection added in v0.162.13

func (o *Manager) FetchAllOpenseaAssetsByOwnerAndCollection(chainID walletCommon.ChainID, owner common.Address, collectionSlug string, cursor string, limit int) (*opensea.AssetContainer, error)

func (*Manager) FetchAssetsByCollectibleUniqueID added in v0.162.13

func (o *Manager) FetchAssetsByCollectibleUniqueID(uniqueIDs []thirdparty.CollectibleUniqueID) ([]thirdparty.FullCollectibleData, error)

func (*Manager) FetchBalancesByOwnerAndContractAddress added in v0.162.5

func (o *Manager) FetchBalancesByOwnerAndContractAddress(chainID walletCommon.ChainID, ownerAddress common.Address, contractAddresses []common.Address) (thirdparty.TokenBalancesPerContractAddress, error)

Need to combine different providers to support all needed ChainIDs

func (*Manager) FetchCollectibleOwnersByContractAddress added in v0.162.13

func (o *Manager) FetchCollectibleOwnersByContractAddress(chainID walletCommon.ChainID, contractAddress common.Address) (*thirdparty.CollectibleContractOwnership, error)

func (*Manager) FetchCollectibleOwnershipByOwner added in v0.162.13

func (o *Manager) FetchCollectibleOwnershipByOwner(chainID walletCommon.ChainID, owner common.Address, cursor string, limit int) (*thirdparty.CollectibleOwnershipContainer, error)

func (*Manager) FetchCollectionsDataByContractID added in v0.162.15

func (o *Manager) FetchCollectionsDataByContractID(ids []thirdparty.ContractID) ([]thirdparty.CollectionData, error)

func (*Manager) SetMetadataProvider added in v0.162.1

func (o *Manager) SetMetadataProvider(metadataProvider thirdparty.CollectibleMetadataProvider)

Used to break circular dependency, call once as soon as possible after initialization

type ManagerInterface added in v0.166.7

type ManagerInterface interface {
	FetchAssetsByCollectibleUniqueID(uniqueIDs []thirdparty.CollectibleUniqueID) ([]thirdparty.FullCollectibleData, error)
}

type OwnershipDB added in v0.162.13

type OwnershipDB struct {
	// contains filtered or unexported fields
}

func NewOwnershipDB added in v0.162.13

func NewOwnershipDB(sqlDb *sql.DB) *OwnershipDB

func (*OwnershipDB) GetOwnedCollectibles added in v0.162.13

func (o *OwnershipDB) GetOwnedCollectibles(chainIDs []w_common.ChainID, ownerAddresses []common.Address, offset int, limit int) ([]thirdparty.CollectibleUniqueID, error)

func (*OwnershipDB) Update added in v0.162.13

func (o *OwnershipDB) Update(chainID w_common.ChainID, ownerAddress common.Address, collectibles []thirdparty.CollectibleUniqueID) (err error)

type Service added in v0.162.13

type Service struct {
	// contains filtered or unexported fields
}

func NewService added in v0.162.13

func NewService(db *sql.DB, walletFeed *event.Feed, accountsDB *accounts.Database, accountsFeed *event.Feed, networkManager *network.Manager, manager *Manager) *Service

func (*Service) FilterOwnedCollectiblesAsync added in v0.162.13

func (s *Service) FilterOwnedCollectiblesAsync(requestID int32, chainIDs []walletCommon.ChainID, addresses []common.Address, offset int, limit int)

FilterOwnedCollectiblesResponse allows only one filter task to run at a time and it cancels the current one if a new one is started All calls will trigger an EventOwnedCollectiblesFilteringDone event with the result of the filtering

func (*Service) GetCollectiblesDetailsAsync added in v0.162.15

func (s *Service) GetCollectiblesDetailsAsync(requestID int32, uniqueIDs []thirdparty.CollectibleUniqueID)

func (*Service) GetOwnedCollectibles added in v0.162.13

func (s *Service) GetOwnedCollectibles(chainIDs []walletCommon.ChainID, owners []common.Address, offset int, limit int) ([]thirdparty.CollectibleUniqueID, bool, error)

func (*Service) Start added in v0.162.13

func (s *Service) Start()

func (*Service) Stop added in v0.162.13

func (s *Service) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL