mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-23 07:26:47 +00:00
* Initial currency overhaul before service system implementation * Remove redundant currency string in orderbook.Base Unexport lastupdated field in orderbook.Base as it was being instantiated multiple times Add error handling for process orderbook * Remove redundant currency string in ticker.Price Unexport lastupdated field in ticker.Price Add error handling for process ticker function and fix tests * Phase Two Update * Update translations to use map type - thankyou to kempeng for spotting this * Change pair method name from Display -> Format for better readability * Fixes misspelling and tests * Implement requested changes from GloriousCode * Remove reduntant function and streamlined return in currency_translation.go * Revert pair method naming conventions * Change currency naming conventions * Changed code type to exported Item type with underlying string to reduce complexity * Added interim orderbook process method to orderbook.Base type * Changed feebuilder struct field to currency.Pair * Adds fall over system for backup fx providers * deprecate function and children and fix linter issue with btcmarkets * Fixed requested changes * Fix bug and move mtx for rates * Fixed after rebase oopsies * Fix linter issues * Fixes race conditions in testing functions * Final phase coinmarketcap update * fix linter issues * Implement requested changes * Adds configuration variables to increase/decrease time durations between updating currency file and fetching new currency rates * Add a collection of tests to improve codecov * After rebase oopsy fixes for btse * Fix requested changes * fix after rebase oopsies and add more efficient comparison checks within currency pair * Fix linter issues
63 lines
1.9 KiB
Go
63 lines
1.9 KiB
Go
package currency
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/thrasher-/gocryptotrader/currency/coinmarketcap"
|
|
)
|
|
|
|
// MainConfiguration is the main configuration from the config.json file
|
|
type MainConfiguration struct {
|
|
ForexProviders []FXSettings
|
|
CryptocurrencyProvider coinmarketcap.Settings
|
|
Cryptocurrencies Currencies
|
|
CurrencyPairFormat interface{}
|
|
FiatDisplayCurrency Code
|
|
CurrencyDelay time.Duration
|
|
FxRateDelay time.Duration
|
|
}
|
|
|
|
// BotOverrides defines a bot overriding factor for quick running currency
|
|
// subsystems
|
|
type BotOverrides struct {
|
|
Coinmarketcap bool
|
|
FxCurrencyConverter bool
|
|
FxCurrencyLayer bool
|
|
FxFixer bool
|
|
FxOpenExchangeRates bool
|
|
}
|
|
|
|
// CoinmarketcapSettings refers to settings
|
|
type CoinmarketcapSettings coinmarketcap.Settings
|
|
|
|
// SystemsSettings defines incoming system settings
|
|
type SystemsSettings struct {
|
|
Coinmarketcap coinmarketcap.Settings
|
|
Currencyconverter FXSettings
|
|
Currencylayer FXSettings
|
|
Fixer FXSettings
|
|
Openexchangerates FXSettings
|
|
}
|
|
|
|
// FXSettings defines foreign exchange requester settings
|
|
type FXSettings 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"`
|
|
}
|
|
|
|
// File defines a full currency file generated by the currency storage
|
|
// analysis system
|
|
type File struct {
|
|
LastMainUpdate time.Time `json:"lastMainUpdate"`
|
|
Cryptocurrency []Item `json:"cryptocurrencies"`
|
|
FiatCurrency []Item `json:"fiatCurrencies"`
|
|
UnsetCurrency []Item `json:"unsetCurrencies"`
|
|
Contracts []Item `json:"contracts"`
|
|
Token []Item `json:"tokens"`
|
|
}
|