mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
* modernise: Run new gopls modernise tool against codebase
* Address shazbert's nits
* apichecker, gctcli: Simplify HTML scraping functions and improve depth limit handling
* refactor: Create minSyncInterval const and update order book limit handling for binance and binanceUS
* refactor: Various slice usage improvements and rename TODO
* tranches: Revert deleteByID changes due to performance decrease
Shazbert was a F1 driver in a past lifetime 🏎️
* tranches: Simply retrieve copy
Thanks to shazbert
* documentation: Sort contributors list by contributions
* tranches: Remove deadcode in deleteByID
83 lines
2.5 KiB
Go
83 lines
2.5 KiB
Go
package currency
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/thrasher-corp/gocryptotrader/currency/coinmarketcap"
|
|
)
|
|
|
|
// Config holds all the information needed for currency related manipulation
|
|
type Config struct {
|
|
ForexProviders AllFXSettings `json:"forexProviders"`
|
|
CryptocurrencyProvider Provider `json:"cryptocurrencyProvider"`
|
|
CurrencyPairFormat *PairFormat `json:"currencyPairFormat"`
|
|
FiatDisplayCurrency Code `json:"fiatDisplayCurrency"`
|
|
CurrencyFileUpdateDuration time.Duration `json:"currencyFileUpdateDuration"`
|
|
ForeignExchangeUpdateDuration time.Duration `json:"foreignExchangeUpdateDuration"`
|
|
}
|
|
|
|
// Provider defines coinmarketcap tools
|
|
type Provider struct {
|
|
Name string `json:"name"`
|
|
Enabled bool `json:"enabled"`
|
|
Verbose bool `json:"verbose"`
|
|
APIKey string `json:"apiKey"`
|
|
AccountPlan string `json:"accountPlan"`
|
|
}
|
|
|
|
// BotOverrides defines a bot overriding factor for quick running currency
|
|
// subsystems
|
|
type BotOverrides struct {
|
|
Coinmarketcap bool
|
|
CurrencyConverter bool
|
|
CurrencyLayer bool
|
|
ExchangeRates bool
|
|
Fixer bool
|
|
OpenExchangeRates 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
|
|
}
|
|
|
|
// AllFXSettings defines all the foreign exchange settings
|
|
type AllFXSettings []FXSettings
|
|
|
|
// FXSettings defines foreign exchange requester settings
|
|
type FXSettings struct {
|
|
Name string `json:"name"`
|
|
Enabled bool `json:"enabled"`
|
|
Verbose bool `json:"verbose"`
|
|
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 any `json:"lastMainUpdate"`
|
|
Cryptocurrency []*Item `json:"cryptocurrencies"`
|
|
FiatCurrency []*Item `json:"fiatCurrencies"`
|
|
UnsetCurrency []*Item `json:"unsetCurrencies"`
|
|
Contracts []*Item `json:"contracts"`
|
|
Token []*Item `json:"tokens"`
|
|
Stable []*Item `json:"stableCurrencies"`
|
|
}
|
|
|
|
// Const here are packaged defined delimiters
|
|
const (
|
|
UnderscoreDelimiter = "_"
|
|
DashDelimiter = "-"
|
|
ForwardSlashDelimiter = "/"
|
|
ColonDelimiter = ":"
|
|
)
|