Files
gocryptotrader/exchanges/protocol/features.go
Ryan O'Hara-Reid 6a02097431 account: storage, processing and method on balances update (#916)
* account: update account storage, retrieval and implement alert functionality when a currency change occurs.

* account: Add cancel channel

* account: remove old code

* account: don't embed mutex

* Update exchanges/account/account.go

Co-authored-by: Scott <gloriousCode@users.noreply.github.com>

* Update exchanges/account/account.go

Co-authored-by: Scott <gloriousCode@users.noreply.github.com>

* Update exchanges/account/account.go

Co-authored-by: Scott <gloriousCode@users.noreply.github.com>

* account: addr nits

* account: Pull out test into indiv.

* account: Add test for update method

* account: add no change to test

* Update exchanges/account/account.go

Co-authored-by: Scott <gloriousCode@users.noreply.github.com>

* glorious: nits

* account/portfolio: differentiate between asset type segregation and default to spot holdings.

* glorious: nits

* thrasher: nit

* ticker: fix spelling

* Update engine/portfolio_manager.go

Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>

* thrasher: nits

Co-authored-by: Scott <gloriousCode@users.noreply.github.com>
Co-authored-by: Adrian Gallagher <adrian.gallagher@thrasher.io>
2022-05-02 14:01:03 +10:00

52 lines
3.0 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"`
// 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"`
}