mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-09 07:26:48 +00:00
Exchanges: Add config variable to set bypassing of orderbook verification by exchange (#614)
* Exchanges: Add config variable to set bypassing of orderbook verification * Exchanges: Consolidate orderbook variables into config struct * Exchanges: Addr nit; set verification bypass on websocket book implementations
This commit is contained in:
@@ -1041,12 +1041,12 @@ func (c *Config) CheckExchangeConfigValues() error {
|
||||
defaultWebsocketTrafficTimeout)
|
||||
c.Exchanges[i].WebsocketTrafficTimeout = defaultWebsocketTrafficTimeout
|
||||
}
|
||||
if c.Exchanges[i].WebsocketOrderbookBufferLimit <= 0 {
|
||||
if c.Exchanges[i].OrderbookConfig.WebsocketBufferLimit <= 0 {
|
||||
log.Warnf(log.ConfigMgr,
|
||||
"Exchange %s Websocket orderbook buffer limit value not set, defaulting to %v.",
|
||||
c.Exchanges[i].Name,
|
||||
defaultWebsocketOrderbookBufferLimit)
|
||||
c.Exchanges[i].WebsocketOrderbookBufferLimit = defaultWebsocketOrderbookBufferLimit
|
||||
c.Exchanges[i].OrderbookConfig.WebsocketBufferLimit = defaultWebsocketOrderbookBufferLimit
|
||||
}
|
||||
err := c.CheckPairConsistency(c.Exchanges[i].Name)
|
||||
if err != nil {
|
||||
|
||||
@@ -1459,7 +1459,7 @@ func TestCheckExchangeConfigValues(t *testing.T) {
|
||||
// Test websocket and HTTP timeout values
|
||||
cfg.Exchanges[0].WebsocketResponseMaxLimit = 0
|
||||
cfg.Exchanges[0].WebsocketResponseCheckTimeout = 0
|
||||
cfg.Exchanges[0].WebsocketOrderbookBufferLimit = 0
|
||||
cfg.Exchanges[0].OrderbookConfig.WebsocketBufferLimit = 0
|
||||
cfg.Exchanges[0].WebsocketTrafficTimeout = 0
|
||||
cfg.Exchanges[0].HTTPTimeout = 0
|
||||
err = cfg.CheckExchangeConfigValues()
|
||||
@@ -1471,7 +1471,7 @@ func TestCheckExchangeConfigValues(t *testing.T) {
|
||||
t.Errorf("expected exchange %s to have updated WebsocketResponseMaxLimit value",
|
||||
cfg.Exchanges[0].Name)
|
||||
}
|
||||
if cfg.Exchanges[0].WebsocketOrderbookBufferLimit == 0 {
|
||||
if cfg.Exchanges[0].OrderbookConfig.WebsocketBufferLimit == 0 {
|
||||
t.Errorf("expected exchange %s to have updated WebsocketOrderbookBufferLimit value",
|
||||
cfg.Exchanges[0].Name)
|
||||
}
|
||||
|
||||
@@ -113,24 +113,23 @@ type ConnectionMonitorConfig struct {
|
||||
|
||||
// ExchangeConfig holds all the information needed for each enabled Exchange.
|
||||
type ExchangeConfig struct {
|
||||
Name string `json:"name"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Verbose bool `json:"verbose"`
|
||||
UseSandbox bool `json:"useSandbox,omitempty"`
|
||||
HTTPTimeout time.Duration `json:"httpTimeout"`
|
||||
HTTPUserAgent string `json:"httpUserAgent,omitempty"`
|
||||
HTTPDebugging bool `json:"httpDebugging,omitempty"`
|
||||
WebsocketResponseCheckTimeout time.Duration `json:"websocketResponseCheckTimeout"`
|
||||
WebsocketResponseMaxLimit time.Duration `json:"websocketResponseMaxLimit"`
|
||||
WebsocketTrafficTimeout time.Duration `json:"websocketTrafficTimeout"`
|
||||
WebsocketOrderbookBufferLimit int `json:"websocketOrderbookBufferLimit"`
|
||||
WebsocketOrderbookBufferEnabled bool `json:"websocketOrderbookBufferEnabled"`
|
||||
ProxyAddress string `json:"proxyAddress,omitempty"`
|
||||
BaseCurrencies currency.Currencies `json:"baseCurrencies"`
|
||||
CurrencyPairs *currency.PairsManager `json:"currencyPairs"`
|
||||
API APIConfig `json:"api"`
|
||||
Features *FeaturesConfig `json:"features"`
|
||||
BankAccounts []banking.Account `json:"bankAccounts,omitempty"`
|
||||
Name string `json:"name"`
|
||||
Enabled bool `json:"enabled"`
|
||||
Verbose bool `json:"verbose"`
|
||||
UseSandbox bool `json:"useSandbox,omitempty"`
|
||||
HTTPTimeout time.Duration `json:"httpTimeout"`
|
||||
HTTPUserAgent string `json:"httpUserAgent,omitempty"`
|
||||
HTTPDebugging bool `json:"httpDebugging,omitempty"`
|
||||
WebsocketResponseCheckTimeout time.Duration `json:"websocketResponseCheckTimeout"`
|
||||
WebsocketResponseMaxLimit time.Duration `json:"websocketResponseMaxLimit"`
|
||||
WebsocketTrafficTimeout time.Duration `json:"websocketTrafficTimeout"`
|
||||
ProxyAddress string `json:"proxyAddress,omitempty"`
|
||||
BaseCurrencies currency.Currencies `json:"baseCurrencies"`
|
||||
CurrencyPairs *currency.PairsManager `json:"currencyPairs"`
|
||||
API APIConfig `json:"api"`
|
||||
Features *FeaturesConfig `json:"features"`
|
||||
BankAccounts []banking.Account `json:"bankAccounts,omitempty"`
|
||||
OrderbookConfig `json:"orderbook"`
|
||||
|
||||
// Deprecated settings which will be removed in a future update
|
||||
AvailablePairs *currency.Pairs `json:"availablePairs,omitempty"`
|
||||
@@ -380,3 +379,10 @@ type APIConfig struct {
|
||||
Credentials APICredentialsConfig `json:"credentials"`
|
||||
CredentialsValidator *APICredentialsValidatorConfig `json:"credentialsValidator,omitempty"`
|
||||
}
|
||||
|
||||
// OrderbookConfig stores the orderbook configuration variables
|
||||
type OrderbookConfig struct {
|
||||
VerificationBypass bool `json:"verificationBypass"`
|
||||
WebsocketBufferLimit int `json:"websocketBufferLimit"`
|
||||
WebsocketBufferEnabled bool `json:"websocketBufferEnabled"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user