token

package
v0.179.21 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: MPL-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventCommunityTokenReceived walletevent.EventType = "wallet-community-token-received"
)

Variables

This section is empty.

Functions

func GetTokenPegSymbol added in v0.131.11

func GetTokenPegSymbol(symbol string) string

Types

type DefaultStore added in v0.138.8

type DefaultStore struct {
	TokenListID []*Token
}

func (*DefaultStore) GetName added in v0.171.21

func (s *DefaultStore) GetName() string

func (*DefaultStore) GetSource added in v0.171.21

func (s *DefaultStore) GetSource() string

func (*DefaultStore) GetTokens added in v0.138.8

func (s *DefaultStore) GetTokens() []*Token

func (*DefaultStore) GetUpdatedAt added in v0.171.21

func (s *DefaultStore) GetUpdatedAt() int64

func (*DefaultStore) GetVersion added in v0.171.21

func (s *DefaultStore) GetVersion() string

type List added in v0.171.21

type List struct {
	Name    string   `json:"name"`
	Tokens  []*Token `json:"tokens"`
	Source  string   `json:"source"`
	Version string   `json:"version"`
}

type ListWrapper added in v0.173.0

type ListWrapper struct {
	UpdatedAt int64   `json:"updatedAt"`
	Data      []*List `json:"data"`
}

type Manager

type Manager struct {
	RPCClient     *rpc.Client
	ContractMaker *contracts.ContractMaker
	// contains filtered or unexported fields
}

Manager is used for accessing token store. It changes the token store based on overridden tokens

func NewTokenManager

func NewTokenManager(
	db *sql.DB,
	RPCClient *rpc.Client,
	communityManager *community.Manager,
	networkManager *network.Manager,
	appDB *sql.DB,
	mediaServer *server.MediaServer,
	walletFeed *event.Feed,
	accountFeed *event.Feed,
	accountsDB *accounts.Database,
) *Manager

func (*Manager) DeleteCustom

func (tm *Manager) DeleteCustom(chainID uint64, address common.Address) error

func (*Manager) DiscoverToken

func (tm *Manager) DiscoverToken(ctx context.Context, chainID uint64, address common.Address) (*Token, error)

func (*Manager) FindOrCreateTokenByAddress added in v0.166.7

func (tm *Manager) FindOrCreateTokenByAddress(ctx context.Context, chainID uint64, address common.Address) *Token

func (*Manager) FindSNT

func (tm *Manager) FindSNT(chainID uint64) *Token

func (*Manager) FindToken

func (tm *Manager) FindToken(network *params.Network, tokenSymbol string) *Token

func (*Manager) FindTokenByAddress added in v0.156.1

func (tm *Manager) FindTokenByAddress(chainID uint64, address common.Address) *Token

func (*Manager) GetAllTokens added in v0.115.5

func (tm *Manager) GetAllTokens() ([]*Token, error)

func (*Manager) GetBalance

func (tm *Manager) GetBalance(ctx context.Context, client chain.ClientInterface, account common.Address, token common.Address) (*big.Int, error)

func (*Manager) GetBalancesAtByChain added in v0.167.5

func (tm *Manager) GetBalancesAtByChain(parent context.Context, clients map[uint64]chain.ClientInterface, accounts, tokens []common.Address, atBlocks map[uint64]*big.Int) (map[uint64]map[common.Address]map[common.Address]*hexutil.Big, error)

func (*Manager) GetBalancesByChain added in v0.115.5

func (tm *Manager) GetBalancesByChain(parent context.Context, clients map[uint64]chain.ClientInterface, accounts, tokens []common.Address) (map[uint64]map[common.Address]map[common.Address]*hexutil.Big, error)

func (*Manager) GetChainBalance

func (tm *Manager) GetChainBalance(ctx context.Context, client chain.ClientInterface, account common.Address) (*big.Int, error)

func (*Manager) GetCustoms

func (tm *Manager) GetCustoms(onlyCommunityCustoms bool) ([]*Token, error)

func (*Manager) GetList added in v0.171.21

func (tm *Manager) GetList() *ListWrapper

func (*Manager) GetPreviouslyOwnedTokens added in v0.178.0

func (tm *Manager) GetPreviouslyOwnedTokens() (map[common.Address][]*Token, error)

func (*Manager) GetToken added in v0.159.2

func (tm *Manager) GetToken(chainID uint64, tokenSymbol string) *Token

GetToken returns token by chainID and tokenSymbol. Use ToToken for native token

func (*Manager) GetTokenBalance

func (tm *Manager) GetTokenBalance(ctx context.Context, client chain.ClientInterface, account common.Address, token common.Address) (*big.Int, error)

func (*Manager) GetTokenBalanceAt added in v0.125.2

func (tm *Manager) GetTokenBalanceAt(ctx context.Context, client chain.ClientInterface, account common.Address, token common.Address, blockNumber *big.Int) (*big.Int, error)

func (*Manager) GetTokenHistoricalBalance added in v0.176.7

func (tm *Manager) GetTokenHistoricalBalance(account common.Address, chainID uint64, symbol string, timestamp int64) (*big.Int, error)

func (*Manager) GetTokens

func (tm *Manager) GetTokens(chainID uint64) ([]*Token, error)

func (*Manager) GetTokensByChainIDs added in v0.154.0

func (tm *Manager) GetTokensByChainIDs(chainIDs []uint64) ([]*Token, error)

func (*Manager) LookupToken added in v0.159.2

func (tm *Manager) LookupToken(chainID *uint64, tokenSymbol string) (token *Token, isNative bool)

func (*Manager) LookupTokenIdentity added in v0.159.2

func (tm *Manager) LookupTokenIdentity(chainID uint64, address common.Address, native bool) *Token

func (*Manager) MarkAsPreviouslyOwnedToken added in v0.171.39

func (tm *Manager) MarkAsPreviouslyOwnedToken(token *Token, owner common.Address) (bool, error)

func (*Manager) SetTokens added in v0.167.5

func (tm *Manager) SetTokens(tokens []*Token)

func (*Manager) SignalCommunityTokenReceived added in v0.172.1

func (tm *Manager) SignalCommunityTokenReceived(address common.Address, txHash common.Hash, value *big.Int, t *Token, isFirst bool)

func (*Manager) Start added in v0.178.0

func (tm *Manager) Start()

func (*Manager) Stop added in v0.178.0

func (tm *Manager) Stop()

func (*Manager) ToToken added in v0.115.5

func (tm *Manager) ToToken(network *params.Network) *Token

func (*Manager) UpsertCustom

func (tm *Manager) UpsertCustom(token Token) error

type ManagerInterface added in v0.166.7

type ManagerInterface interface {
	LookupTokenIdentity(chainID uint64, address common.Address, native bool) *Token
	LookupToken(chainID *uint64, tokenSymbol string) (token *Token, isNative bool)
}

type ReceivedToken added in v0.172.1

type ReceivedToken struct {
	Token
	Amount  float64     `json:"amount"`
	TxHash  common.Hash `json:"txHash"`
	IsFirst bool        `json:"isFirst"`
}

type Token

type Token struct {
	Address common.Address `json:"address"`
	Name    string         `json:"name"`
	Symbol  string         `json:"symbol"`
	// Decimals defines how divisible the token is. For example, 0 would be
	// indivisible, whereas 18 would allow very small amounts of the token
	// to be traded.
	Decimals uint   `json:"decimals"`
	ChainID  uint64 `json:"chainId"`
	// PegSymbol indicates that the token is pegged to some fiat currency, using the
	// ISO 4217 alphabetic code. For example, an empty string means it is not
	// pegged, while "USD" means it's pegged to the United States Dollar.
	PegSymbol string `json:"pegSymbol"`
	Image     string `json:"image,omitempty"`

	CommunityData *community.Data `json:"community_data,omitempty"`
	Verified      bool            `json:"verified"`
	TokenListID   string          `json:"tokenListId"`
}

func (*Token) IsNative

func (t *Token) IsNative() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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