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