mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-01 07:26:48 +00:00
Engine: Protocol Features, coverage, types, BTC markets websocket (#368)
* Attempts to update orderbook so it doesn't need to sort * Reverts the ws ob stuff. Gets rid of sorting because it happens later. Adds some exchange features * update existing feature lists. Expands list definition to match my emotions * Adds bithumb bitmex and bitstamp. adds a couple more types * Features for you, features for me, features for bittrex, btcmarkets, btse, coinbasepro, coinut, exmo, gateio and gemini * Features for hitbtc, huobi, itbit, kraken, lakebtc, lbank, localbitcoins, okcoin, okex, poloniex, yobit, zb * Who can forget good old alphapoint? * Adds btcmarksets websocket :glitch_crab: fixes alphapoint features * Adds extra data not in the documentation :/ * Replaces websocket features by using protocol features. However, it breaks it due to import cycles. I'm not sure what I'll do just yet * Removes import cycle via duplicate structs. * Increases coverage of config with `TestCheckCurrencyConfigValues`. Moves all currency pair package types into their own files or places it at the bottom of files if necessary * Increase coverage in code.go * One way of determining a test has failed, is when to it fails. Removed redundant explanation * Increases code coverage of conversion * Lint fixes * Fixes orderbook tests * Re-adds sorting because its important to still have the internal pre-processed orderbook to be representative of a real orderbook * Secret lints that did not show up via Windows linting * Adds protocol package to contain exchange features * Fixes protocol implementation * Fixes ws tests * Addresses the following: Removes st-st-stutters in config types, changes GetAvailableForexProviders -> GetSupportedForexProviders, removes errors from tests where error is nil, removes orderbook setup when not necessary, removes import newlines, removes false bools from declaration, changes should of to should have * imports and casing * Fixes two more nil error checks
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/thrasher-corp/gocryptotrader/config"
|
||||
"github.com/thrasher-corp/gocryptotrader/currency"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/protocol"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/request"
|
||||
"github.com/thrasher-corp/gocryptotrader/exchanges/websocket/wshandler"
|
||||
)
|
||||
@@ -228,41 +229,12 @@ type FeaturesEnabled struct {
|
||||
AutoPairUpdates bool
|
||||
}
|
||||
|
||||
// ProtocolFeatures holds all variables for the exchanges supported features
|
||||
// for a protocol (e.g REST or Websocket)
|
||||
type ProtocolFeatures struct {
|
||||
TickerBatching bool
|
||||
TickerFetching bool
|
||||
OrderbookFetching bool
|
||||
AutoPairUpdates bool
|
||||
AccountInfo bool
|
||||
CryptoDeposit bool
|
||||
CryptoWithdrawal uint32
|
||||
FiatWithdraw bool
|
||||
GetOrder bool
|
||||
GetOrders bool
|
||||
CancelOrders bool
|
||||
CancelOrder bool
|
||||
SubmitOrder bool
|
||||
SubmitOrders bool
|
||||
ModifyOrder bool
|
||||
DepositHistory bool
|
||||
WithdrawalHistory bool
|
||||
TradeHistory bool
|
||||
UserTradeHistory bool
|
||||
TradeFee bool
|
||||
FiatDepositFee bool
|
||||
FiatWithdrawalFee bool
|
||||
CryptoDepositFee bool
|
||||
CryptoWithdrawalFee bool
|
||||
}
|
||||
|
||||
// FeaturesSupported stores the exchanges supported features
|
||||
type FeaturesSupported struct {
|
||||
REST bool
|
||||
RESTCapabilities ProtocolFeatures
|
||||
RESTCapabilities protocol.Features
|
||||
Websocket bool
|
||||
WebsocketCapabilities ProtocolFeatures
|
||||
WebsocketCapabilities protocol.Features
|
||||
WithdrawPermissions uint32
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user