Documentation
¶
Index ¶
Constants ¶
const DefaultTimeOut = time.Second * 15
DefaultTimeOut is the default timeout for foreign exchange providers
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Base ¶
type Base struct {
Settings `json:"settings"`
}
Base enforces standard variables across the provider packages
func (*Base) IsPrimaryProvider ¶
IsPrimaryProvider returns true if primary provider
type FXHandler ¶
type FXHandler struct {
Primary Provider
Support []Provider
// contains filtered or unexported fields
}
FXHandler defines a full suite of FX data providers with failure backup with unsupported currency shunt procedure
type IFXProvider ¶
type IFXProvider interface {
Setup(config Settings) error
GetRates(baseCurrency, symbols string) (map[string]float64, error)
GetName() string
IsEnabled() bool
IsPrimaryProvider() bool
GetSupportedCurrencies() ([]string, error)
}
IFXProvider enforces standard functions for all foreign exchange providers supported in GoCryptoTrader
type Provider ¶
type Provider struct {
Provider IFXProvider
SupportedCurrencies []string
}
Provider defines a singular foreign exchange provider with its supported currencies to cross reference request currencies and if not supported shunt request traffic to and from other providers so that we can maintain full currency list integration
func (Provider) CheckCurrencies ¶
CheckCurrencies cross references supplied currencies with exchange supported currencies, if there are any currencies not supported it returns a list to pass on to the next provider
type Settings ¶
type Settings struct {
Name string `json:"name"`
Enabled bool `json:"enabled"`
Verbose bool `json:"verbose"`
RESTPollingDelay time.Duration `json:"restPollingDelay"`
APIKey string `json:"apiKey"`
APIKeyLvl int `json:"apiKeyLvl"`
PrimaryProvider bool `json:"primaryProvider"`
}
Settings enforces standard variables across the provider packages