Versions in this module Expand all Collapse all v0 v0.1.2 Jan 9, 2020 Changes in this version type AddressName + const Proxy v0.1.1 Sep 3, 2019 Changes in this version + var ErrExchangeRecordNotFound = errors.New("exchange record not found") + var ErrNoAddr = errors.New("cannot find the address") + var ErrTokenNotFound = errors.New("token not found") + func AddressNameValues() map[string]AddressName + func ExchangeTypeValues() map[string]ExchangeName + func RunningExchanges() []string + type AddressName int + const InternalNetwork + const Network + const Pricing + const Reserve + const Wrapper + func (i AddressName) String() string + type AddressSetting struct + Addresses map[AddressName]ethereum.Address + func NewAddressSetting(data common.AddressConfig) (*AddressSetting, error) + func (addrsetting *AddressSetting) GetAddress(name AddressName) (ethereum.Address, error) + type ExchangeName int + const Binance + const Bittrex + const Huobi + const StableExchange + func (i ExchangeName) String() string + type ExchangeSetting struct + Storage ExchangeStorage + func NewExchangeSetting(exchangeStorage ExchangeStorage) (*ExchangeSetting, error) + type ExchangeStorage interface + GetDepositAddresses func(ex ExchangeName) (common.ExchangeAddresses, error) + GetExchangeInfo func(ex ExchangeName) (common.ExchangeInfo, error) + GetExchangeNotifications func() (common.ExchangeNotifications, error) + GetExchangeStatus func() (common.ExchangesStatus, error) + GetExchangeVersion func() (uint64, error) + GetFee func(ex ExchangeName) (common.ExchangeFees, error) + GetMinDeposit func(ex ExchangeName) (common.ExchangesMinDeposit, error) + StoreDepositAddress func(ex ExchangeName, addrs common.ExchangeAddresses, timestamp uint64) error + StoreExchangeInfo func(ex ExchangeName, exInfo common.ExchangeInfo, timestamp uint64) error + StoreExchangeNotification func(exchange, action, tokenPair string, fromTime, toTime uint64, isWarning bool, ...) error + StoreExchangeStatus func(data common.ExchangesStatus) error + StoreFee func(ex ExchangeName, data common.ExchangeFees, timestamp uint64) error + StoreMinDeposit func(ex ExchangeName, minDeposit common.ExchangesMinDeposit, timestamp uint64) error + type SettingOption func(s *Settings) + func WithHandleEmptyDepositAddress(data map[common.ExchangeID]common.ExchangeAddresses) SettingOption + func WithHandleEmptyExchangeInfo() SettingOption + func WithHandleEmptyFee(feeConfig map[string]common.ExchangeFees) SettingOption + func WithHandleEmptyMinDeposit(data map[string]common.ExchangesMinDeposit) SettingOption + func WithHandleEmptyToken(data map[string]common.Token) SettingOption + type Settings struct + Address *AddressSetting + Exchange *ExchangeSetting + Tokens *TokenSetting + func NewSetting(token *TokenSetting, address *AddressSetting, exchange *ExchangeSetting, ...) (*Settings, error) + func (setting *Settings) ApplyTokenWithExchangeSetting(tokens []common.Token, exSetting map[ExchangeName]*common.ExchangeSetting, ...) error + func (setting *Settings) ETHToken() common.Token + func (setting *Settings) GetActiveTokenByAddress(addr ethereum.Address) (common.Token, error) + func (setting *Settings) GetActiveTokenByID(id string) (common.Token, error) + func (setting *Settings) GetActiveTokens() ([]common.Token, error) + func (setting *Settings) GetAddress(name AddressName) (ethereum.Address, error) + func (setting *Settings) GetAllAddresses() (map[string]interface{}, error) + func (setting *Settings) GetAllTokens() ([]common.Token, error) + func (setting *Settings) GetDepositAddresses(ex ExchangeName) (common.ExchangeAddresses, error) + func (setting *Settings) GetExchangeInfo(ex ExchangeName) (common.ExchangeInfo, error) + func (setting *Settings) GetExchangeNotifications() (common.ExchangeNotifications, error) + func (setting *Settings) GetExchangeStatus() (common.ExchangesStatus, error) + func (setting *Settings) GetExchangeVersion() (uint64, error) + func (setting *Settings) GetExternalTokenByAddress(addr ethereum.Address) (common.Token, error) + func (setting *Settings) GetExternalTokenByID(id string) (common.Token, error) + func (setting *Settings) GetExternalTokens() ([]common.Token, error) + func (setting *Settings) GetFee(ex ExchangeName) (common.ExchangeFees, error) + func (setting *Settings) GetInternalTokenByAddress(addr ethereum.Address) (common.Token, error) + func (setting *Settings) GetInternalTokenByID(id string) (common.Token, error) + func (setting *Settings) GetInternalTokens() ([]common.Token, error) + func (setting *Settings) GetMinDeposit(ex ExchangeName) (common.ExchangesMinDeposit, error) + func (setting *Settings) GetPendingTokenUpdates() (map[string]common.TokenUpdate, error) + func (setting *Settings) GetTokenByAddress(addr ethereum.Address) (common.Token, error) + func (setting *Settings) GetTokenByID(id string) (common.Token, error) + func (setting *Settings) GetTokenVersion() (uint64, error) + func (setting *Settings) MustCreateTokenPair(base, quote string) common.TokenPair + func (setting *Settings) NewExchangeInfo(exName ExchangeName) (common.ExchangeInfo, error) + func (setting *Settings) NewTokenPairFromID(base, quote string) (common.TokenPair, error) + func (setting *Settings) RemovePendingTokenUpdates() error + func (setting *Settings) UpdateDepositAddress(exName ExchangeName, addrs common.ExchangeAddresses, timestamp uint64) error + func (setting *Settings) UpdateExchangeInfo(exName ExchangeName, exInfo common.ExchangeInfo, timestamp uint64) error + func (setting *Settings) UpdateExchangeNotification(exchange, action, tokenPair string, fromTime, toTime uint64, isWarning bool, ...) error + func (setting *Settings) UpdateExchangeStatus(exStatus common.ExchangesStatus) error + func (setting *Settings) UpdateFee(exName ExchangeName, exFee common.ExchangeFees, timestamp uint64) error + func (setting *Settings) UpdateMinDeposit(exName ExchangeName, minDeposit common.ExchangesMinDeposit, timestamp uint64) error + func (setting *Settings) UpdatePendingTokenUpdates(tokenUpdates map[string]common.TokenUpdate) error + func (setting *Settings) UpdateToken(t common.Token, timestamp uint64) error + type TokenSetting struct + Storage TokenStorage + func NewTokenSetting(tokenStorage TokenStorage) (*TokenSetting, error) + type TokenStorage interface + AddTokenByAddress func(common.Token, uint64) error + AddTokenByID func(common.Token, uint64) error + GetActiveTokenByAddress func(ethereum.Address) (common.Token, error) + GetActiveTokenByID func(id string) (common.Token, error) + GetActiveTokens func() ([]common.Token, error) + GetAllTokens func() ([]common.Token, error) + GetExternalTokenByAddress func(ethereum.Address) (common.Token, error) + GetExternalTokenByID func(id string) (common.Token, error) + GetExternalTokens func() ([]common.Token, error) + GetInternalTokenByAddress func(ethereum.Address) (common.Token, error) + GetInternalTokenByID func(id string) (common.Token, error) + GetInternalTokens func() ([]common.Token, error) + GetPendingTokenUpdates func() (map[string]common.TokenUpdate, error) + GetTokenByAddress func(ethereum.Address) (common.Token, error) + GetTokenByID func(id string) (common.Token, error) + GetTokenVersion func() (uint64, error) + RemovePendingTokenUpdates func() error + StorePendingTokenUpdates func(map[string]common.TokenUpdate) error + UpdateToken func(common.Token, uint64) error + UpdateTokenWithExchangeSetting func(t []common.Token, exSetting map[ExchangeName]*common.ExchangeSetting, ...) error