Files
gocryptotrader/exchanges/protocol/features.go
Scott 70690d9a04 futures: Implement GetLatestFundingRates across exchanges (#1339)
* adds funding rate implementations and improvements

* merge fixes x1

* lint

* kucoin funding rates func make

* migrate sync-manager to keys

* some kucoin work

* adds some kucoin wrapper funcs

* ehhh, todo

* kucoin position

* start of orders

* adds the kucoin tests yay

* multiplier

* nits, EWS includes order limits

* NotYetImplemented, IsPerp improvements, cleaning

* lint, test fix, huobi time

* fixes issues, improves testing

* fixes linters I WRECKED

* local lint but remote lint, lint, lint, lint

* fixes err

* skip CI

* lint

* Supported rates, binance endpoints

* fixes weird mocktest problems

* no, CZ is invalid

* fixes some new EWS test errors
2023-11-03 11:01:32 +11:00

54 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"`
}