mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-14 15:09:51 +00:00
* adds open interest to exchanges * ADDS TESTING YEAH * New endpoints, BTSE, RPCS, cached * slight design change, begin gateio You will need to get cached for each exchange that supports it * gateio, huobi, rpc * fix up kraken, cache retrieval * okx, gateio * finalising all implementations and tests * definitely my final ever commit on this * Well, well, well * final v2 * quick fix of bug * test coverage, assert notempty, test helper Added a new testhelper for currency management because its very annoying in a parallel test setting which wastes so much space otherwise * minimises REST requests for Open Interest * types.Number merge misses * Minimises Kraken REST calls * len change, value -> pointer receiver * further fixup * fixes gateio, batch calculates open interest * single gateio, lint const fixes * rejig and more thorough oi for huobi * formatting expansion * minor fix for handling expiring contracts * rm unused Binance strings * add bybit support, fix bybit issues * oopsie doopsie, dont look at my whoopsie * Fix issue, remove feature * move an irrelevant function for the pr * mini bybit upgrades * fixes cli request bug
53 lines
3.1 KiB
Go
53 lines
3.1 KiB
Go
package protocol
|
|
|
|
// Features holds all variables for the exchanges supported features
|
|
// for a protocol (e.g REST or Websocket)
|
|
type Features struct {
|
|
TickerBatching bool `json:"tickerBatching,omitempty"`
|
|
AutoPairUpdates bool `json:"autoPairUpdates,omitempty"`
|
|
AccountBalance bool `json:"accountBalance,omitempty"`
|
|
CryptoDeposit bool `json:"cryptoDeposit,omitempty"`
|
|
CryptoWithdrawal bool `json:"cryptoWithdrawal,omitempty"`
|
|
FiatWithdraw bool `json:"fiatWithdraw,omitempty"`
|
|
GetOrder bool `json:"getOrder,omitempty"`
|
|
GetOrders bool `json:"getOrders,omitempty"`
|
|
CancelOrders bool `json:"cancelOrders,omitempty"`
|
|
CancelOrder bool `json:"cancelOrder,omitempty"`
|
|
SubmitOrder bool `json:"submitOrder,omitempty"`
|
|
SubmitOrders bool `json:"submitOrders,omitempty"`
|
|
ModifyOrder bool `json:"modifyOrder,omitempty"`
|
|
DepositHistory bool `json:"depositHistory,omitempty"`
|
|
WithdrawalHistory bool `json:"withdrawalHistory,omitempty"`
|
|
TradeHistory bool `json:"tradeHistory,omitempty"`
|
|
UserTradeHistory bool `json:"userTradeHistory,omitempty"`
|
|
TradeFee bool `json:"tradeFee,omitempty"`
|
|
FiatDepositFee bool `json:"fiatDepositFee,omitempty"`
|
|
FiatWithdrawalFee bool `json:"fiatWithdrawalFee,omitempty"`
|
|
CryptoDepositFee bool `json:"cryptoDepositFee,omitempty"`
|
|
CryptoWithdrawalFee bool `json:"cryptoWithdrawalFee,omitempty"`
|
|
TickerFetching bool `json:"tickerFetching,omitempty"`
|
|
KlineFetching bool `json:"klineFetching,omitempty"`
|
|
TradeFetching bool `json:"tradeFetching,omitempty"`
|
|
OrderbookFetching bool `json:"orderbookFetching,omitempty"`
|
|
AccountInfo bool `json:"accountInfo,omitempty"`
|
|
FiatDeposit bool `json:"fiatDeposit,omitempty"`
|
|
DeadMansSwitch bool `json:"deadMansSwitch,omitempty"`
|
|
FundingRateFetching bool `json:"fundingRateFetching"`
|
|
PredictedFundingRate bool `json:"predictedFundingRate,omitempty"`
|
|
// FullPayloadSubscribe flushes and changes full subscription on websocket
|
|
// connection by subscribing with full default stream channel list
|
|
FullPayloadSubscribe bool `json:"fullPayloadSubscribe,omitempty"`
|
|
Subscribe bool `json:"subscribe,omitempty"`
|
|
Unsubscribe bool `json:"unsubscribe,omitempty"`
|
|
AuthenticatedEndpoints bool `json:"authenticatedEndpoints,omitempty"`
|
|
MessageCorrelation bool `json:"messageCorrelation,omitempty"`
|
|
MessageSequenceNumbers bool `json:"messageSequenceNumbers,omitempty"`
|
|
CandleHistory bool `json:"candlehistory,omitempty"`
|
|
MultiChainDeposits bool `json:"multiChainDeposits,omitempty"`
|
|
MultiChainWithdrawals bool `json:"multiChainWithdrawals,omitempty"`
|
|
MultiChainDepositRequiresChainSet bool `json:"multiChainDepositRequiresChainSet,omitempty"`
|
|
// HasAssetTypeAccountSegregation is when the assets are divided into asset
|
|
// types instead of just being denoted as spot holdings.
|
|
HasAssetTypeAccountSegregation bool `json:"hasAssetTypeAccountSegregation,omitempty"`
|
|
}
|