Documentation
¶
Index ¶
- Variables
- type AcceptQuote
- type AccountInfoData
- type AccountOptionsInfoData
- type AllWalletBalances
- type Authenticate
- type AuthenticationData
- type CancelQuoteRequestData
- type CreateQuoteRequestData
- type DepositData
- type DepositItem
- type FTX
- func (f *FTX) AcceptOTCQuote(ctx context.Context, quoteID string) error
- func (f *FTX) AcceptQuote(ctx context.Context, quoteID string) ([]QuoteForQuoteData, error)
- func (f *FTX) AuthenticateWebsocket(_ context.Context) error
- func (f *FTX) CalcPartialOBChecksum(data *WsOrderbookData) int64
- func (f *FTX) CalcUpdateOBChecksum(data *orderbook.Base) int64
- func (f *FTX) CancelAllOrders(ctx context.Context, orderCancellation *order.Cancel) (order.CancelAllResponse, error)
- func (f *FTX) CancelBatchOrders(ctx context.Context, o []order.Cancel) (order.CancelBatchResponse, error)
- func (f *FTX) CancelOrder(ctx context.Context, o *order.Cancel) error
- func (f *FTX) CancelUnstakeRequest(ctx context.Context, requestID int64) (bool, error)
- func (f *FTX) ChangeAccountLeverage(ctx context.Context, leverage float64) error
- func (f *FTX) CreateQuoteRequest(ctx context.Context, underlying currency.Code, optionType, side string, ...) (CreateQuoteRequestData, error)
- func (f *FTX) CreateSubaccount(ctx context.Context, name string) (*Subaccount, error)
- func (f *FTX) DeleteMyQuote(ctx context.Context, quoteID string) ([]QuoteForQuoteData, error)
- func (f *FTX) DeleteOrder(ctx context.Context, orderID string) (string, error)
- func (f *FTX) DeleteOrderByClientID(ctx context.Context, clientID string) (string, error)
- func (f *FTX) DeleteQuote(ctx context.Context, requestID string) (CancelQuoteRequestData, error)
- func (f *FTX) DeleteSubaccount(ctx context.Context, name string) error
- func (f *FTX) DeleteTriggerOrder(ctx context.Context, orderID string) (string, error)
- func (f *FTX) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (f *FTX) FetchDepositAddress(ctx context.Context, coin currency.Code, chain string) (*DepositData, error)
- func (f *FTX) FetchDepositHistory(ctx context.Context) ([]DepositItem, error)
- func (f *FTX) FetchExchangeLimits(ctx context.Context) ([]order.MinMaxLevel, error)
- func (f *FTX) FetchOrderHistory(ctx context.Context, marketName string, startTime, endTime time.Time, ...) ([]OrderData, error)
- func (f *FTX) FetchOrderbook(ctx context.Context, c currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (f *FTX) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (f *FTX) FetchTradablePairs(ctx context.Context, a asset.Item) ([]string, error)
- func (f *FTX) FetchWithdrawalHistory(ctx context.Context) ([]WithdrawItem, error)
- func (f *FTX) GenerateDefaultSubscriptions() ([]stream.ChannelSubscription, error)
- func (f *FTX) GetAccountInfo(ctx context.Context) (AccountInfoData, error)
- func (f *FTX) GetAccountOptionsInfo(ctx context.Context) (AccountOptionsInfoData, error)
- func (f *FTX) GetActiveOrders(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
- func (f *FTX) GetAllWalletBalances(ctx context.Context) (AllWalletBalances, error)
- func (f *FTX) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
- func (f *FTX) GetBalances(ctx context.Context) ([]WalletBalance, error)
- func (f *FTX) GetCoins(ctx context.Context) ([]WalletCoinsData, error)
- func (f *FTX) GetDefaultConfig() (*config.Exchange, error)
- func (f *FTX) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
- func (f *FTX) GetFee(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (f *FTX) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (f *FTX) GetFills(ctx context.Context, market, limit string, startTime, endTime time.Time) ([]FillsData, error)
- func (f *FTX) GetFundingHistory(ctx context.Context) ([]exchange.FundHistory, error)
- func (f *FTX) GetFundingPayments(ctx context.Context, startTime, endTime time.Time, future string) ([]FundingPaymentsData, error)
- func (f *FTX) GetFundingRates(ctx context.Context, startTime, endTime time.Time, future string) ([]FundingRatesData, error)
- func (f *FTX) GetFuture(ctx context.Context, futureName string) (FuturesData, error)
- func (f *FTX) GetFutureStats(ctx context.Context, futureName string) (FutureStatsData, error)
- func (f *FTX) GetFutures(ctx context.Context) ([]FuturesData, error)
- func (f *FTX) GetHistoricCandles(ctx context.Context, p currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (f *FTX) GetHistoricCandlesExtended(ctx context.Context, p currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (f *FTX) GetHistoricTrades(ctx context.Context, p currency.Pair, assetType asset.Item, ...) ([]trade.Data, error)
- func (f *FTX) GetHistoricalData(ctx context.Context, marketName string, timeInterval, limit int64, ...) ([]OHLCVData, error)
- func (f *FTX) GetHistoricalIndex(ctx context.Context, indexName string, resolution int64, ...) ([]OHLCVData, error)
- func (f *FTX) GetIndexWeights(ctx context.Context, index string) (IndexWeights, error)
- func (f *FTX) GetLendingInfo(ctx context.Context) ([]LendingInfoData, error)
- func (f *FTX) GetMarginBorrowHistory(ctx context.Context, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
- func (f *FTX) GetMarginBorrowRates(ctx context.Context) ([]MarginFundingData, error)
- func (f *FTX) GetMarginLendingHistory(ctx context.Context, coin currency.Code, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
- func (f *FTX) GetMarginLendingOffers(ctx context.Context) ([]LendingOffersData, error)
- func (f *FTX) GetMarginLendingRates(ctx context.Context) ([]MarginFundingData, error)
- func (f *FTX) GetMarginMarketInfo(ctx context.Context, market string) ([]MarginMarketInfo, error)
- func (f *FTX) GetMarginMarketLendingHistory(ctx context.Context, coin currency.Code, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
- func (f *FTX) GetMarket(ctx context.Context, marketName string) (MarketData, error)
- func (f *FTX) GetMarkets(ctx context.Context) ([]MarketData, error)
- func (f *FTX) GetOTCQuoteStatus(ctx context.Context, marketName, quoteID string) (*QuoteStatusData, error)
- func (f *FTX) GetOpenOrders(ctx context.Context, marketName string) ([]OrderData, error)
- func (f *FTX) GetOpenTriggerOrders(ctx context.Context, marketName, orderType string) ([]TriggerOrderData, error)
- func (f *FTX) GetOptionsFills(ctx context.Context, startTime, endTime time.Time, limit string) ([]OptionFillsData, error)
- func (f *FTX) GetOptionsPositions(ctx context.Context) ([]OptionsPositionsData, error)
- func (f *FTX) GetOrderHistory(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
- func (f *FTX) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
- func (f *FTX) GetOrderStatus(ctx context.Context, orderID string) (OrderData, error)
- func (f *FTX) GetOrderStatusByClientID(ctx context.Context, clientOrderID string) (OrderData, error)
- func (f *FTX) GetOrderbook(ctx context.Context, marketName string, depth int64) (OrderbookData, error)
- func (f *FTX) GetPositions(ctx context.Context) ([]PositionData, error)
- func (f *FTX) GetPublicOptionsTrades(ctx context.Context, startTime, endTime time.Time, limit string) ([]OptionsTradesData, error)
- func (f *FTX) GetQuoteRequests(ctx context.Context) ([]QuoteRequestData, error)
- func (f *FTX) GetQuotesForYourQuote(ctx context.Context, requestID string) (QuoteForQuoteData, error)
- func (f *FTX) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
- func (f *FTX) GetStakeBalances(ctx context.Context) ([]StakeBalance, error)
- func (f *FTX) GetStakes(ctx context.Context) ([]Stake, error)
- func (f *FTX) GetStakingRewards(ctx context.Context) ([]StakeReward, error)
- func (f *FTX) GetSubaccounts(ctx context.Context) ([]Subaccount, error)
- func (f *FTX) GetTokenInfo(ctx context.Context, tokenName string) ([]LeveragedTokensData, error)
- func (f *FTX) GetTrades(ctx context.Context, marketName string, startTime, endTime, limit int64) ([]TradeData, error)
- func (f *FTX) GetTriggerOrderHistory(ctx context.Context, marketName string, startTime, endTime time.Time, ...) ([]TriggerOrderData, error)
- func (f *FTX) GetTriggerOrderTriggers(ctx context.Context, orderID string) ([]TriggerData, error)
- func (f *FTX) GetUnstakeRequests(ctx context.Context) ([]UnstakeRequest, error)
- func (f *FTX) GetWebsocket() (*stream.Websocket, error)
- func (f *FTX) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
- func (f *FTX) GetYourQuoteRequests(ctx context.Context) ([]PersonalQuotesData, error)
- func (f *FTX) ListLTBalances(ctx context.Context) ([]LTBalanceData, error)
- func (f *FTX) ListLTCreations(ctx context.Context) ([]LTCreationData, error)
- func (f *FTX) ListLTRedemptions(ctx context.Context) ([]LTRedemptionData, error)
- func (f *FTX) ListLeveragedTokens(ctx context.Context) ([]LeveragedTokensData, error)
- func (f *FTX) MakeQuote(ctx context.Context, requestID, price string) ([]QuoteForQuoteData, error)
- func (f *FTX) MarginDailyBorrowedAmounts(ctx context.Context) ([]MarginDailyBorrowStats, error)
- func (f *FTX) ModifyOrder(ctx context.Context, action *order.Modify) (order.Modify, error)
- func (f *FTX) ModifyOrderByClientID(ctx context.Context, clientOrderID, clientID string, price, size float64) (OrderData, error)
- func (f *FTX) ModifyPlacedOrder(ctx context.Context, orderID, clientID string, price, size float64) (OrderData, error)
- func (f *FTX) ModifyTriggerOrder(ctx context.Context, orderID, orderType string, ...) (TriggerOrderData, error)
- func (f *FTX) MyQuotes(ctx context.Context) ([]QuoteForQuoteData, error)
- func (f *FTX) Order(ctx context.Context, marketName, side, orderType string, ...) (OrderData, error)
- func (f *FTX) RequestForQuotes(ctx context.Context, base, quote currency.Code, amount float64) (RequestQuoteData, error)
- func (f *FTX) RequestLTCreation(ctx context.Context, tokenName string, size float64) (RequestTokenCreationData, error)
- func (f *FTX) RequestLTRedemption(ctx context.Context, tokenName string, size float64) (LTRedemptionRequestData, error)
- func (f *FTX) Run()
- func (f *FTX) SendAuthHTTPRequest(ctx context.Context, ep exchange.URL, method, path string, ...) error
- func (f *FTX) SendHTTPRequest(ctx context.Context, ep exchange.URL, path string, result interface{}) error
- func (f *FTX) SetDefaults()
- func (f *FTX) Setup(exch *config.Exchange) error
- func (f *FTX) StakeRequest(ctx context.Context, coin currency.Code, size float64) (*Stake, error)
- func (f *FTX) Start(wg *sync.WaitGroup) error
- func (f *FTX) SubaccountBalances(ctx context.Context, name string) ([]SubaccountBalance, error)
- func (f *FTX) SubaccountTransfer(ctx context.Context, coin currency.Code, source, destination string, ...) (*SubaccountTransferStatus, error)
- func (f *FTX) SubmitLendingOffer(ctx context.Context, coin currency.Code, size, rate float64) error
- func (f *FTX) SubmitOrder(ctx context.Context, s *order.Submit) (order.SubmitResponse, error)
- func (f *FTX) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
- func (f *FTX) SubscribeToWebsocketChannels(channels []stream.ChannelSubscription) error
- func (f *FTX) TriggerOrder(ctx context.Context, ...) (TriggerOrderData, error)
- func (f *FTX) UnstakeRequest(ctx context.Context, coin currency.Code, size float64) (*UnstakeRequest, error)
- func (f *FTX) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
- func (f *FTX) UnsubscribeToWebsocketChannels(channels []stream.ChannelSubscription) error
- func (f *FTX) UpdateAccountInfo(ctx context.Context, a asset.Item) (account.Holdings, error)
- func (f *FTX) UpdateOrderExecutionLimits(ctx context.Context, _ asset.Item) error
- func (f *FTX) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (f *FTX) UpdateSubaccountName(ctx context.Context, oldName, newName string) (*Subaccount, error)
- func (f *FTX) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
- func (f *FTX) UpdateTickers(ctx context.Context, a asset.Item) error
- func (f *FTX) UpdateTradablePairs(ctx context.Context, forceUpdate bool) error
- func (f *FTX) ValidateCredentials(ctx context.Context, assetType asset.Item) error
- func (f *FTX) Withdraw(ctx context.Context, coin currency.Code, ...) (*WithdrawItem, error)
- func (f *FTX) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (f *FTX) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (f *FTX) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (f *FTX) WsAuth() error
- func (f *FTX) WsConnect() error
- func (f *FTX) WsProcessPartialOB(data *WsOrderbookData, p currency.Pair, a asset.Item) error
- func (f *FTX) WsProcessUpdateOB(data *WsOrderbookData, p currency.Pair, a asset.Item) error
- type FillsData
- type FundingPaymentsData
- type FundingRatesData
- type FutureStatsData
- type FuturesData
- type IndexWeights
- type LTBalanceData
- type LTCreationData
- type LTRedemptionData
- type LTRedemptionRequestData
- type LendingInfoData
- type LendingOffersData
- type LeveragedTokensData
- type MarginDailyBorrowStats
- type MarginFundingData
- type MarginMarketInfo
- type MarginTransactionHistoryData
- type MarketData
- type OData
- type OHLCVData
- type OptionData
- type OptionFillsData
- type OptionsPositionsData
- type OptionsTradesData
- type OrderData
- type OrderVars
- type OrderbookData
- type PersonalQuotesData
- type PositionData
- type QuoteData
- type QuoteForQuoteData
- type QuoteRequestData
- type QuoteStatusData
- type RequestQuoteData
- type RequestTokenCreationData
- type Stake
- type StakeBalance
- type StakeReward
- type Subaccount
- type SubaccountBalance
- type SubaccountTransferStatus
- type TempOBData
- type TimeInterval
- type TradeData
- type TriggerData
- type TriggerOrderData
- type UnstakeRequest
- type WSMarkets
- type WalletBalance
- type WalletCoinsData
- type WithdrawItem
- type WsFills
- type WsFillsDataStore
- type WsMarketsData
- type WsMarketsDataStorage
- type WsMarketsFutureData
- type WsOrderDataStore
- type WsOrderbookData
- type WsOrderbookDataStore
- type WsOrders
- type WsResponseData
- type WsSub
- type WsTickerData
- type WsTickerDataStore
- type WsTradeData
- type WsTradeDataStore
Constants ¶
This section is empty.
Variables ¶
var ( TimeIntervalFifteenSeconds = TimeInterval("15") TimeIntervalMinute = TimeInterval("60") TimeIntervalFiveMinutes = TimeInterval("300") TimeIntervalFifteenMinutes = TimeInterval("900") TimeIntervalHour = TimeInterval("3600") TimeIntervalFourHours = TimeInterval("14400") TimeIntervalDay = TimeInterval("86400") )
Vars related to time intervals
Functions ¶
This section is empty.
Types ¶
type AcceptQuote ¶
type AcceptQuote struct {
Success bool `json:"success"`
}
AcceptQuote stores data of accepted quote
type AccountInfoData ¶
type AccountInfoData struct {
BackstopProvider bool `json:"backstopProvider"`
ChargeInterestOnNegativeUSD bool `json:"chargeInterestOnNegativeUsd"`
Collateral float64 `json:"collateral"`
FreeCollateral float64 `json:"freeCollateral"`
InitialMarginRequirement float64 `json:"initialMarginRequirement"`
Leverage float64 `json:"leverage"`
Liquidating bool `json:"liquidating"`
MaintenanceMarginRequirement float64 `json:"maintenanceMarginRequirement"`
MakerFee float64 `json:"makerFee"`
MarginFraction float64 `json:"marginFraction"`
OpenMarginFraction float64 `json:"openMarginFraction"`
PositionLimit float64 `json:"positionLimit"`
PositionLimitUsed float64 `json:"positionLimitUsed"`
SpotLendingEnabled bool `json:"spotLendingEnabled"`
SpotMarginEnabled bool `json:"spotMarginEnabled"`
TakerFee float64 `json:"takerFee"`
TotalAccountValue float64 `json:"totalAccountValue"`
TotalPositionSize float64 `json:"totalPositionSize"`
UseFTTCollateral bool `json:"useFttCollateral"`
Username string `json:"username"`
Positions []PositionData `json:"positions"`
}
AccountInfoData stores account data
type AccountOptionsInfoData ¶
type AccountOptionsInfoData struct {
USDBalance float64 `json:"usdBalance"`
LiquidationPrice float64 `json:"liquidationPrice"`
Liquidating bool `json:"liquidating"`
}
AccountOptionsInfoData stores account's options' info data
type AllWalletBalances ¶
type AllWalletBalances map[string][]WalletBalance
AllWalletBalances stores all the user's account balances
type Authenticate ¶
type Authenticate struct {
Args AuthenticationData `json:"args"`
Operation string `json:"op"`
}
Authenticate stores authentication variables required
type AuthenticationData ¶
type AuthenticationData struct {
Key string `json:"key"`
Sign string `json:"sign"`
Time int64 `json:"time"`
SubAccount string `json:"subaccount,omitempty"`
}
AuthenticationData stores authentication variables required
type CancelQuoteRequestData ¶
type CancelQuoteRequestData struct {
ID int64 `json:"id"`
Option OptionData `json:"option"`
RequestExpiry string `json:"requestExpiry"`
Side string `json:"side"`
Size float64 `json:"size"`
Status string `json:"status"`
Time time.Time `json:"time"`
}
CancelQuoteRequestData stores cancel quote request data
type CreateQuoteRequestData ¶
type CreateQuoteRequestData struct {
ID int64 `json:"id"`
Expiry time.Time `json:"expiry"`
Strike float64 `json:"strike"`
OptionType string `json:"type"`
Underlying string `json:"underlying"`
RequestExpiry string `json:"requestExpiry"`
Side string `json:"side"`
Size float64 `json:"size"`
Status string `json:"status"`
Time time.Time `json:"time"`
}
CreateQuoteRequestData stores quote data of the request sent
type DepositData ¶
type DepositData struct {
Address string `json:"address"`
Tag string `json:"tag"`
Method string `json:"method"`
Coin string `json:"coin"`
}
DepositData stores deposit address data
type DepositItem ¶
type DepositItem struct {
Coin string `json:"coin"`
Confirmations int64 `json:"conformations"`
ConfirmedTime time.Time `json:"confirmedTime"`
Fee float64 `json:"fee"`
ID int64 `json:"id"`
SentTime time.Time `json:"sentTime"`
Size float64 `json:"size"`
Status string `json:"status"`
Time time.Time `json:"time"`
TxID string `json:"txid"`
Address struct {
Address string `json:"address"`
Tag string `json:"tag"`
Method string `json:"method"`
} `json:"address"`
}
DepositItem stores data about deposit history
type FTX ¶
FTX is the overarching type across this package
func (*FTX) AcceptOTCQuote ¶
AcceptOTCQuote requests for otc quotes
func (*FTX) AcceptQuote ¶
AcceptQuote accepts the quote for quote
func (*FTX) AuthenticateWebsocket ¶
AuthenticateWebsocket sends an authentication message to the websocket
func (*FTX) CalcPartialOBChecksum ¶
func (f *FTX) CalcPartialOBChecksum(data *WsOrderbookData) int64
CalcPartialOBChecksum calculates checksum of partial OB data received from WS
func (*FTX) CalcUpdateOBChecksum ¶
CalcUpdateOBChecksum calculates checksum of update OB data received from WS
func (*FTX) CancelAllOrders ¶
func (f *FTX) CancelAllOrders(ctx context.Context, orderCancellation *order.Cancel) (order.CancelAllResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*FTX) CancelBatchOrders ¶
func (f *FTX) CancelBatchOrders(ctx context.Context, o []order.Cancel) (order.CancelBatchResponse, error)
CancelBatchOrders cancels an orders by their corresponding ID numbers
func (*FTX) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*FTX) CancelUnstakeRequest ¶
CancelUnstakeRequest cancels a pending unstake request
func (*FTX) ChangeAccountLeverage ¶
ChangeAccountLeverage changes default leverage used by account
func (*FTX) CreateQuoteRequest ¶
func (f *FTX) CreateQuoteRequest(ctx context.Context, underlying currency.Code, optionType, side string, expiry int64, requestExpiry string, strike, size, limitPrice, counterPartyID float64, hideLimitPrice bool) (CreateQuoteRequestData, error)
CreateQuoteRequest sends a request to create a quote
func (*FTX) CreateSubaccount ¶
CreateSubaccount creates a new subaccount
func (*FTX) DeleteMyQuote ¶
DeleteMyQuote deletes my quote for quotes
func (*FTX) DeleteOrder ¶
DeleteOrder deletes an order
func (*FTX) DeleteOrderByClientID ¶
DeleteOrderByClientID deletes an order
func (*FTX) DeleteQuote ¶
DeleteQuote sends request to cancel a quote
func (*FTX) DeleteSubaccount ¶
DeleteSubaccount deletes the specified subaccount name
func (*FTX) DeleteTriggerOrder ¶
DeleteTriggerOrder deletes an order
func (*FTX) FetchAccountInfo ¶
FetchAccountInfo retrieves balances for all enabled currencies
func (*FTX) FetchDepositAddress ¶
func (f *FTX) FetchDepositAddress(ctx context.Context, coin currency.Code, chain string) (*DepositData, error)
FetchDepositAddress gets deposit address for a given coin
func (*FTX) FetchDepositHistory ¶
func (f *FTX) FetchDepositHistory(ctx context.Context) ([]DepositItem, error)
FetchDepositHistory gets deposit history
func (*FTX) FetchExchangeLimits ¶
FetchExchangeLimits fetches spot order execution limits
func (*FTX) FetchOrderHistory ¶
func (f *FTX) FetchOrderHistory(ctx context.Context, marketName string, startTime, endTime time.Time, limit string) ([]OrderData, error)
FetchOrderHistory gets order history
func (*FTX) FetchOrderbook ¶
func (f *FTX) FetchOrderbook(ctx context.Context, c currency.Pair, assetType asset.Item) (*orderbook.Base, error)
FetchOrderbook returns orderbook base on the currency pair
func (*FTX) FetchTicker ¶
func (f *FTX) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
FetchTicker returns the ticker for a currency pair
func (*FTX) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*FTX) FetchWithdrawalHistory ¶
func (f *FTX) FetchWithdrawalHistory(ctx context.Context) ([]WithdrawItem, error)
FetchWithdrawalHistory gets withdrawal history
func (*FTX) GenerateDefaultSubscriptions ¶
func (f *FTX) GenerateDefaultSubscriptions() ([]stream.ChannelSubscription, error)
GenerateDefaultSubscriptions generates default subscription
func (*FTX) GetAccountInfo ¶
func (f *FTX) GetAccountInfo(ctx context.Context) (AccountInfoData, error)
GetAccountInfo gets account info
func (*FTX) GetAccountOptionsInfo ¶
func (f *FTX) GetAccountOptionsInfo(ctx context.Context) (AccountOptionsInfoData, error)
GetAccountOptionsInfo gets account's options' info
func (*FTX) GetActiveOrders ¶
func (f *FTX) GetActiveOrders(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
GetActiveOrders retrieves any orders that are active/open
func (*FTX) GetAllWalletBalances ¶
func (f *FTX) GetAllWalletBalances(ctx context.Context) (AllWalletBalances, error)
GetAllWalletBalances gets all wallets' balances
func (*FTX) GetAvailableTransferChains ¶
func (f *FTX) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
GetAvailableTransferChains returns the available transfer blockchains for the specific cryptocurrency
func (*FTX) GetBalances ¶
func (f *FTX) GetBalances(ctx context.Context) ([]WalletBalance, error)
GetBalances gets balances of the account
func (*FTX) GetCoins ¶
func (f *FTX) GetCoins(ctx context.Context) ([]WalletCoinsData, error)
GetCoins gets coins' data in the account wallet
func (*FTX) GetDefaultConfig ¶
GetDefaultConfig returns a default exchange config
func (*FTX) GetDepositAddress ¶
func (f *FTX) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
GetDepositAddress returns a deposit address for a specified currency
func (*FTX) GetFeeByType ¶
GetFeeByType returns an estimate of fee based on the type of transaction
func (*FTX) GetFills ¶
func (f *FTX) GetFills(ctx context.Context, market, limit string, startTime, endTime time.Time) ([]FillsData, error)
GetFills gets fills' data
func (*FTX) GetFundingHistory ¶
GetFundingHistory returns funding history, deposits and withdrawals
func (*FTX) GetFundingPayments ¶
func (f *FTX) GetFundingPayments(ctx context.Context, startTime, endTime time.Time, future string) ([]FundingPaymentsData, error)
GetFundingPayments gets funding payments
func (*FTX) GetFundingRates ¶
func (f *FTX) GetFundingRates(ctx context.Context, startTime, endTime time.Time, future string) ([]FundingRatesData, error)
GetFundingRates gets data on funding rates
func (*FTX) GetFutureStats ¶
GetFutureStats gets data on a given future's stats
func (*FTX) GetFutures ¶
func (f *FTX) GetFutures(ctx context.Context) ([]FuturesData, error)
GetFutures gets data on futures
func (*FTX) GetHistoricCandles ¶
func (f *FTX) GetHistoricCandles(ctx context.Context, p currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*FTX) GetHistoricCandlesExtended ¶
func (f *FTX) GetHistoricCandlesExtended(ctx context.Context, p currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandlesExtended returns candles between a time period for a set time interval
func (*FTX) GetHistoricTrades ¶
func (f *FTX) GetHistoricTrades(ctx context.Context, p currency.Pair, assetType asset.Item, timestampStart, timestampEnd time.Time) ([]trade.Data, error)
GetHistoricTrades returns historic trade data within the timeframe provided FTX returns trades from the end date and iterates towards the start date
func (*FTX) GetHistoricalData ¶
func (f *FTX) GetHistoricalData(ctx context.Context, marketName string, timeInterval, limit int64, startTime, endTime time.Time) ([]OHLCVData, error)
GetHistoricalData gets historical OHLCV data for a given market pair
func (*FTX) GetHistoricalIndex ¶
func (f *FTX) GetHistoricalIndex(ctx context.Context, indexName string, resolution int64, startTime, endTime time.Time) ([]OHLCVData, error)
GetHistoricalIndex gets historical index data
func (*FTX) GetIndexWeights ¶
GetIndexWeights gets index weights
func (*FTX) GetLendingInfo ¶
func (f *FTX) GetLendingInfo(ctx context.Context) ([]LendingInfoData, error)
GetLendingInfo gets margin lending info
func (*FTX) GetMarginBorrowHistory ¶
func (f *FTX) GetMarginBorrowHistory(ctx context.Context, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
GetMarginBorrowHistory gets the margin borrow history data
func (*FTX) GetMarginBorrowRates ¶
func (f *FTX) GetMarginBorrowRates(ctx context.Context) ([]MarginFundingData, error)
GetMarginBorrowRates gets borrowing rates for margin trading
func (*FTX) GetMarginLendingHistory ¶
func (f *FTX) GetMarginLendingHistory(ctx context.Context, coin currency.Code, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
GetMarginLendingHistory gets margin lending history
func (*FTX) GetMarginLendingOffers ¶
func (f *FTX) GetMarginLendingOffers(ctx context.Context) ([]LendingOffersData, error)
GetMarginLendingOffers gets margin lending offers
func (*FTX) GetMarginLendingRates ¶
func (f *FTX) GetMarginLendingRates(ctx context.Context) ([]MarginFundingData, error)
GetMarginLendingRates gets lending rates for margin trading
func (*FTX) GetMarginMarketInfo ¶
GetMarginMarketInfo gets margin market data
func (*FTX) GetMarginMarketLendingHistory ¶
func (f *FTX) GetMarginMarketLendingHistory(ctx context.Context, coin currency.Code, startTime, endTime time.Time) ([]MarginTransactionHistoryData, error)
GetMarginMarketLendingHistory gets the markets margin lending rate history
func (*FTX) GetMarkets ¶
func (f *FTX) GetMarkets(ctx context.Context) ([]MarketData, error)
GetMarkets gets market data
func (*FTX) GetOTCQuoteStatus ¶
func (f *FTX) GetOTCQuoteStatus(ctx context.Context, marketName, quoteID string) (*QuoteStatusData, error)
GetOTCQuoteStatus gets quote status of a quote
func (*FTX) GetOpenOrders ¶
GetOpenOrders gets open orders
func (*FTX) GetOpenTriggerOrders ¶
func (f *FTX) GetOpenTriggerOrders(ctx context.Context, marketName, orderType string) ([]TriggerOrderData, error)
GetOpenTriggerOrders gets trigger orders that are currently open
func (*FTX) GetOptionsFills ¶
func (f *FTX) GetOptionsFills(ctx context.Context, startTime, endTime time.Time, limit string) ([]OptionFillsData, error)
GetOptionsFills gets fills data for options
func (*FTX) GetOptionsPositions ¶
func (f *FTX) GetOptionsPositions(ctx context.Context) ([]OptionsPositionsData, error)
GetOptionsPositions gets options' positions
func (*FTX) GetOrderHistory ¶
func (f *FTX) GetOrderHistory(ctx context.Context, getOrdersRequest *order.GetOrdersRequest) ([]order.Detail, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*FTX) GetOrderInfo ¶
func (f *FTX) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
GetOrderInfo returns order information based on order ID
func (*FTX) GetOrderStatus ¶
GetOrderStatus gets the order status of a given orderID
func (*FTX) GetOrderStatusByClientID ¶
func (f *FTX) GetOrderStatusByClientID(ctx context.Context, clientOrderID string) (OrderData, error)
GetOrderStatusByClientID gets the order status of a given clientOrderID
func (*FTX) GetOrderbook ¶
func (f *FTX) GetOrderbook(ctx context.Context, marketName string, depth int64) (OrderbookData, error)
GetOrderbook gets orderbook for a given market with a given depth (default depth 20)
func (*FTX) GetPositions ¶
func (f *FTX) GetPositions(ctx context.Context) ([]PositionData, error)
GetPositions gets the users positions
func (*FTX) GetPublicOptionsTrades ¶
func (f *FTX) GetPublicOptionsTrades(ctx context.Context, startTime, endTime time.Time, limit string) ([]OptionsTradesData, error)
GetPublicOptionsTrades gets options' trades from public
func (*FTX) GetQuoteRequests ¶
func (f *FTX) GetQuoteRequests(ctx context.Context) ([]QuoteRequestData, error)
GetQuoteRequests gets a list of quote requests
func (*FTX) GetQuotesForYourQuote ¶
func (f *FTX) GetQuotesForYourQuote(ctx context.Context, requestID string) (QuoteForQuoteData, error)
GetQuotesForYourQuote gets a list of quotes for your quote
func (*FTX) GetRecentTrades ¶
func (f *FTX) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
GetRecentTrades returns the most recent trades for a currency and asset
func (*FTX) GetStakeBalances ¶
func (f *FTX) GetStakeBalances(ctx context.Context) ([]StakeBalance, error)
GetStakeBalances returns a collection of staked coin balances
func (*FTX) GetStakingRewards ¶
func (f *FTX) GetStakingRewards(ctx context.Context) ([]StakeReward, error)
GetStakingRewards returns a collection of staking rewards
func (*FTX) GetSubaccounts ¶
func (f *FTX) GetSubaccounts(ctx context.Context) ([]Subaccount, error)
GetSubaccounts returns the users subaccounts
func (*FTX) GetTokenInfo ¶
GetTokenInfo gets token info
func (*FTX) GetTrades ¶
func (f *FTX) GetTrades(ctx context.Context, marketName string, startTime, endTime, limit int64) ([]TradeData, error)
GetTrades gets trades based on the conditions specified
func (*FTX) GetTriggerOrderHistory ¶
func (f *FTX) GetTriggerOrderHistory(ctx context.Context, marketName string, startTime, endTime time.Time, side, orderType, limit string) ([]TriggerOrderData, error)
GetTriggerOrderHistory gets trigger orders that are currently open
func (*FTX) GetTriggerOrderTriggers ¶
GetTriggerOrderTriggers gets trigger orders that are currently open
func (*FTX) GetUnstakeRequests ¶
func (f *FTX) GetUnstakeRequests(ctx context.Context) ([]UnstakeRequest, error)
GetUnstakeRequests returns a collection of unstake requests
func (*FTX) GetWebsocket ¶
GetWebsocket returns a pointer to the exchange websocket
func (*FTX) GetWithdrawalsHistory ¶
func (f *FTX) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
GetWithdrawalsHistory returns previous withdrawals data
func (*FTX) GetYourQuoteRequests ¶
func (f *FTX) GetYourQuoteRequests(ctx context.Context) ([]PersonalQuotesData, error)
GetYourQuoteRequests gets a list of your quote requests
func (*FTX) ListLTBalances ¶
func (f *FTX) ListLTBalances(ctx context.Context) ([]LTBalanceData, error)
ListLTBalances gets leveraged tokens' balances
func (*FTX) ListLTCreations ¶
func (f *FTX) ListLTCreations(ctx context.Context) ([]LTCreationData, error)
ListLTCreations lists the leveraged tokens' creation requests
func (*FTX) ListLTRedemptions ¶
func (f *FTX) ListLTRedemptions(ctx context.Context) ([]LTRedemptionData, error)
ListLTRedemptions lists the leveraged tokens' redemption requests
func (*FTX) ListLeveragedTokens ¶
func (f *FTX) ListLeveragedTokens(ctx context.Context) ([]LeveragedTokensData, error)
ListLeveragedTokens lists leveraged tokens
func (*FTX) MarginDailyBorrowedAmounts ¶
func (f *FTX) MarginDailyBorrowedAmounts(ctx context.Context) ([]MarginDailyBorrowStats, error)
MarginDailyBorrowedAmounts gets daily borrowed amounts for margin
func (*FTX) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*FTX) ModifyOrderByClientID ¶
func (f *FTX) ModifyOrderByClientID(ctx context.Context, clientOrderID, clientID string, price, size float64) (OrderData, error)
ModifyOrderByClientID modifies a placed order via clientOrderID
func (*FTX) ModifyPlacedOrder ¶
func (f *FTX) ModifyPlacedOrder(ctx context.Context, orderID, clientID string, price, size float64) (OrderData, error)
ModifyPlacedOrder modifies a placed order
func (*FTX) ModifyTriggerOrder ¶
func (f *FTX) ModifyTriggerOrder(ctx context.Context, orderID, orderType string, size, triggerPrice, orderPrice, trailValue float64) (TriggerOrderData, error)
ModifyTriggerOrder modifies an existing trigger order Choices for ordertype include stop, trailingStop, takeProfit
func (*FTX) MyQuotes ¶
func (f *FTX) MyQuotes(ctx context.Context) ([]QuoteForQuoteData, error)
MyQuotes gets a list of my quotes for quotes
func (*FTX) Order ¶
func (f *FTX) Order( ctx context.Context, marketName, side, orderType string, reduceOnly, ioc, postOnly bool, clientID string, price, size float64, ) (OrderData, error)
Order places an order
func (*FTX) RequestForQuotes ¶
func (f *FTX) RequestForQuotes(ctx context.Context, base, quote currency.Code, amount float64) (RequestQuoteData, error)
RequestForQuotes requests for otc quotes
func (*FTX) RequestLTCreation ¶
func (f *FTX) RequestLTCreation(ctx context.Context, tokenName string, size float64) (RequestTokenCreationData, error)
RequestLTCreation sends a request to create a leveraged token
func (*FTX) RequestLTRedemption ¶
func (f *FTX) RequestLTRedemption(ctx context.Context, tokenName string, size float64) (LTRedemptionRequestData, error)
RequestLTRedemption sends a request to redeem a leveraged token
func (*FTX) SendAuthHTTPRequest ¶
func (f *FTX) SendAuthHTTPRequest(ctx context.Context, ep exchange.URL, method, path string, data, result interface{}) error
SendAuthHTTPRequest sends an authenticated request
func (*FTX) SendHTTPRequest ¶
func (f *FTX) SendHTTPRequest(ctx context.Context, ep exchange.URL, path string, result interface{}) error
SendHTTPRequest sends an unauthenticated HTTP request
func (*FTX) StakeRequest ¶
StakeRequest submits a stake request based on the specified currency and size
func (*FTX) SubaccountBalances ¶
SubaccountBalances returns the user's subaccount balances
func (*FTX) SubaccountTransfer ¶
func (f *FTX) SubaccountTransfer(ctx context.Context, coin currency.Code, source, destination string, size float64) (*SubaccountTransferStatus, error)
SubaccountTransfer transfers a desired coin to the specified subaccount
func (*FTX) SubmitLendingOffer ¶
SubmitLendingOffer submits an offer for margin lending
func (*FTX) SubmitOrder ¶
SubmitOrder submits a new order
func (*FTX) Subscribe ¶
func (f *FTX) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
Subscribe sends a websocket message to receive data from the channel
func (*FTX) SubscribeToWebsocketChannels ¶
func (f *FTX) SubscribeToWebsocketChannels(channels []stream.ChannelSubscription) error
SubscribeToWebsocketChannels appends to ChannelsToSubscribe which lets websocket.manageSubscriptions handle subscribing
func (*FTX) TriggerOrder ¶
func (f *FTX) TriggerOrder(ctx context.Context, marketName, side, orderType, reduceOnly, retryUntilFilled string, size, triggerPrice, orderPrice, trailValue float64) (TriggerOrderData, error)
TriggerOrder places an order
func (*FTX) UnstakeRequest ¶
func (f *FTX) UnstakeRequest(ctx context.Context, coin currency.Code, size float64) (*UnstakeRequest, error)
UnstakeRequest unstakes an existing staked coin
func (*FTX) Unsubscribe ¶
func (f *FTX) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*FTX) UnsubscribeToWebsocketChannels ¶
func (f *FTX) UnsubscribeToWebsocketChannels(channels []stream.ChannelSubscription) error
UnsubscribeToWebsocketChannels removes from ChannelsToSubscribe which lets websocket.manageSubscriptions handle unsubscribing
func (*FTX) UpdateAccountInfo ¶
UpdateAccountInfo retrieves balances for all enabled currencies
func (*FTX) UpdateOrderExecutionLimits ¶
UpdateOrderExecutionLimits sets exchange executions for a required asset type
func (*FTX) UpdateOrderbook ¶
func (f *FTX) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*FTX) UpdateSubaccountName ¶
func (f *FTX) UpdateSubaccountName(ctx context.Context, oldName, newName string) (*Subaccount, error)
UpdateSubaccountName updates an existing subaccount name
func (*FTX) UpdateTicker ¶
func (f *FTX) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker updates and returns the ticker for a currency pair
func (*FTX) UpdateTickers ¶
UpdateTickers updates the ticker for all currency pairs of a given asset type
func (*FTX) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*FTX) ValidateCredentials ¶
ValidateCredentials validates current credentials used for wrapper functionality
func (*FTX) Withdraw ¶
func (f *FTX) Withdraw(ctx context.Context, coin currency.Code, address, tag, password, chain, code string, size float64) (*WithdrawItem, error)
Withdraw sends a withdrawal request
func (*FTX) WithdrawCryptocurrencyFunds ¶
func (f *FTX) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*FTX) WithdrawFiatFunds ¶
func (f *FTX) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*FTX) WithdrawFiatFundsToInternationalBank ¶
func (f *FTX) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
func (*FTX) WsProcessPartialOB ¶
WsProcessPartialOB creates an OB from websocket data
func (*FTX) WsProcessUpdateOB ¶
WsProcessUpdateOB processes an update on the orderbook
type FillsData ¶
type FillsData struct {
Fee float64 `json:"fee"`
FeeCurrency string `json:"feeCurrency"`
FeeRate float64 `json:"feeRate"`
Future string `json:"future"`
ID int64 `json:"id"`
Liquidity string `json:"liquidity"`
Market string `json:"market"`
BaseCurrency string `json:"baseCurrency"`
QuoteCurrency string `json:"quoteCurrency"`
OrderID int64 `json:"orderId"`
TradeID int64 `json:"tradeId"`
Price float64 `json:"price"`
Side string `json:"side"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
OrderType string `json:"type"`
}
FillsData stores fills' data
type FundingPaymentsData ¶
type FundingPaymentsData struct {
Future string `json:"future"`
ID int64 `json:"id"`
Payment float64 `json:"payment"`
Time time.Time `json:"time"`
Rate float64 `json:"rate"`
}
FundingPaymentsData stores funding payments' data
type FundingRatesData ¶
type FundingRatesData struct {
Future string `json:"future"`
Rate float64 `json:"rate"`
Time time.Time `json:"time"`
}
FundingRatesData stores data on funding rates
type FutureStatsData ¶
type FutureStatsData struct {
Volume float64 `json:"volume"`
NextFundingRate float64 `json:"nextFundingRate"`
NextFundingTime time.Time `json:"nextFundingTime"`
ExpirationPrice float64 `json:"expirationPrice"`
PredictedExpirationPrice float64 `json:"predictedExpirationPrice"`
OpenInterest float64 `json:"openInterest"`
StrikePrice float64 `json:"strikePrice"`
Greeks *struct {
ImpliedVolatility float64 `json:"impliedVolatility"`
Delta float64 `json:"delta"`
Gamma float64 `json:"gamma"`
} `json:"greeks"`
}
FutureStatsData stores data on futures stats
type FuturesData ¶
type FuturesData struct {
Ask float64 `json:"ask"`
Bid float64 `json:"bid"`
Change1h float64 `json:"change1h"`
Change24h float64 `json:"change24h"`
ChangeBod float64 `json:"changeBod"`
VolumeUSD24h float64 `json:"volumeUsd24h"`
Volume float64 `json:"volume"`
Description string `json:"description"`
Enabled bool `json:"enabled"`
Expired bool `json:"expired"`
Expiry time.Time `json:"expiry"`
ExpiryDescription string `json:"expiryDescription"`
Group string `json:"group"`
Index float64 `json:"index"`
IMFFactor float64 `json:"imfFactor"`
Last float64 `json:"last"`
LowerBound float64 `json:"lowerBound"`
MarginPrice float64 `json:"marginPrice"`
Mark float64 `json:"mark"`
MoveStart interface{} `json:"moveStart"`
Name string `json:"name"`
OpenInterest float64 `json:"openInterest"`
OpenInterestUSD float64 `json:"openInterestUsd"`
Perpetual bool `json:"perpetual"`
PositionLimitWeight float64 `json:"positionLimitWeight"`
PostOnly bool `json:"postOnly"`
PriceIncrement float64 `json:"priceIncrement"`
SizeIncrement float64 `json:"sizeIncrement"`
Underlying string `json:"underlying"`
UnderlyingDescription string `json:"underlyingDescription"`
UpperBound float64 `json:"upperBound"`
FutureType string `json:"type"`
}
FuturesData stores data for futures
type IndexWeights ¶
IndexWeights stores index weights' data
type LTBalanceData ¶
LTBalanceData stores balances of leveraged tokens
type LTCreationData ¶
type LTCreationData struct {
ID int64 `json:"id"`
Token string `json:"token"`
RequestedSize float64 `json:"requestedSize"`
Pending bool `json:"pending"`
CreatedSize float64 `json:"createdSize"`
Price float64 `json:"price"`
Cost float64 `json:"cost"`
Fee float64 `json:"fee"`
RequestedAt time.Time `json:"requestedAt"`
FulfilledAt time.Time `json:"fulfilledAt"`
}
LTCreationData stores token creation requests' data
type LTRedemptionData ¶
type LTRedemptionData struct {
ID int64 `json:"id"`
Token string `json:"token"`
Size float64 `json:"size"`
Pending bool `json:"pending"`
Price float64 `json:"price"`
Proceeds float64 `json:"proceeds"`
Fee float64 `json:"fee"`
RequestedAt time.Time `json:"requestedAt"`
FulfilledAt time.Time `json:"fulfilledAt"`
}
LTRedemptionData stores data of the token redemption request
type LTRedemptionRequestData ¶
type LTRedemptionRequestData struct {
ID int64 `json:"id"`
Token string `json:"token"`
Size float64 `json:"size"`
ProjectedProceeds float64 `json:"projectedProceeds"`
Pending bool `json:"pending"`
RequestedAt time.Time `json:"requestedAt"`
}
LTRedemptionRequestData stores redemption request data for a leveraged token
type LendingInfoData ¶
type LendingInfoData struct {
Coin string `json:"coin"`
Lendable float64 `json:"lendable"`
Locked float64 `json:"locked"`
MinRate float64 `json:"minRate"`
Offered float64 `json:"offered"`
}
LendingInfoData stores margin lending info
type LendingOffersData ¶
type LendingOffersData struct {
Coin string `json:"coin"`
Rate float64 `json:"rate"`
Size float64 `json:"size"`
}
LendingOffersData stores data for lending offers
type LeveragedTokensData ¶
type LeveragedTokensData struct {
Basket map[string]interface{} `json:"basket"`
Bep2AssetName string `json:"bep2AssetName"`
Name string `json:"name"`
Description string `json:"description"`
Underlying string `json:"underlying"`
Leverage float64 `json:"leverage"`
Outstanding float64 `json:"outstanding"`
TargetComponents []string `json:"targetComponents"`
TotalCollateral float64 `json:"totalCollateral"`
UnderlyingMark float64 `json:"underlyingMark"`
ContactAddress string `json:"contactAddress"`
Change1h float64 `json:"change1h"`
Change24h float64 `json:"change24h"`
ChangeBod float64 `json:"changeBod"`
}
LeveragedTokensData stores data of leveraged tokens
type MarginDailyBorrowStats ¶
MarginDailyBorrowStats stores the daily borrowed amounts
type MarginFundingData ¶
type MarginFundingData struct {
Coin string `json:"coin"`
Estimate float64 `json:"estimate"`
Previous float64 `json:"previous"`
}
MarginFundingData stores borrowing/lending data for margin trading
type MarginMarketInfo ¶
type MarginMarketInfo struct {
Coin string `json:"coin"`
Borrowed float64 `json:"borrowed"`
Free float64 `json:"free"`
EstimatedRate float64 `json:"estimatedRate"`
PreviousRate float64 `json:"previousRate"`
}
MarginMarketInfo stores margin market info
type MarginTransactionHistoryData ¶
type MarginTransactionHistoryData struct {
Coin string `json:"coin"`
Cost float64 `json:"cost"`
Rate float64 `json:"rate"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
}
MarginTransactionHistoryData stores margin borrowing/lending history
type MarketData ¶
type MarketData struct {
Name string `json:"name"`
BaseCurrency string `json:"baseCurrency"`
QuoteCurrency string `json:"quoteCurrency"`
MarketType string `json:"type"`
Underlying string `json:"underlying"`
Change1h float64 `json:"change1h"`
Change24h float64 `json:"change24h"`
ChangeBod float64 `json:"changeBod"`
QuoteVolume24h float64 `json:"quoteVolume24h"`
Enabled bool `json:"enabled"`
Ask float64 `json:"ask"`
Bid float64 `json:"bid"`
Last float64 `json:"last"`
USDVolume24h float64 `json:"volumeUSD24h"`
MinProvideSize float64 `json:"minProvideSize"`
PriceIncrement float64 `json:"priceIncrement"`
SizeIncrement float64 `json:"sizeIncrement"`
Restricted bool `json:"restricted"`
PostOnly bool `json:"postOnly"`
Price float64 `json:"price"`
HighLeverageFeeExempt bool `json:"highLeverageFeeExempt"`
}
MarketData stores market data
type OHLCVData ¶
type OHLCVData struct {
Close float64 `json:"close"`
High float64 `json:"high"`
Low float64 `json:"low"`
Open float64 `json:"open"`
StartTime time.Time `json:"startTime"`
Time float64 `json:"time"`
Volume float64 `json:"volume"`
}
OHLCVData stores historical OHLCV data
type OptionData ¶
type OptionData struct {
Underlying string `json:"underlying"`
OptionType string `json:"type"`
Strike float64 `json:"strike"`
Expiry time.Time `json:"expiry"`
}
OptionData stores options' data
type OptionFillsData ¶
type OptionFillsData struct {
Fee float64 `json:"fee"`
FeeRate float64 `json:"feeRate"`
ID int64 `json:"id"`
Liquidity string `json:"liquidity"`
Option OptionData `json:"option"`
Price float64 `json:"price"`
QuoteID int64 `json:"quoteId"`
Side string `json:"side"`
Size float64 `json:"size"`
Time string `json:"time"`
}
OptionFillsData stores option's fills data
type OptionsPositionsData ¶
type OptionsPositionsData struct {
EntryPrice float64 `json:"entryPrice"`
NetSize float64 `json:"netSize"`
Option OptionData `json:"option"`
Side string `json:"side"`
Size float64 `json:"size"`
PessimisticValuation float64 `json:"pessimisticValuation,omitempty"`
PessimisticIndexPrice float64 `json:"pessimisticIndexPrice,omitempty"`
}
OptionsPositionsData stores options positions' data
type OptionsTradesData ¶
type OptionsTradesData struct {
ID int64 `json:"id"`
Option OptionData `json:"option"`
Price float64 `json:"price"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
}
OptionsTradesData stores options' trades' data
type OrderData ¶
type OrderData struct {
CreatedAt time.Time `json:"createdAt"`
FilledSize float64 `json:"filledSize"`
Future string `json:"future"`
ID int64 `json:"id"`
Market string `json:"market"`
Price float64 `json:"price"`
AvgFillPrice float64 `json:"avgFillPrice"`
RemainingSize float64 `json:"remainingSize"`
Side string `json:"side"`
Size float64 `json:"size"`
Status string `json:"status"`
OrderType string `json:"type"`
ReduceOnly bool `json:"reduceOnly"`
IOC bool `json:"ioc"`
PostOnly bool `json:"postOnly"`
ClientID string `json:"clientId"`
}
OrderData stores open order data
type OrderbookData ¶
OrderbookData stores orderbook data
type PersonalQuotesData ¶
type PersonalQuotesData struct {
ID int64 `json:"id"`
Option OptionData `json:"option"`
Side string `json:"side"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
RequestExpiry string `json:"requestExpiry"`
Status string `json:"status"`
HideLimitPrice bool `json:"hideLimitPrice"`
LimitPrice float64 `json:"limitPrice"`
Quotes []QuoteData `json:"quotes"`
}
PersonalQuotesData stores data of your quotes
type PositionData ¶
type PositionData struct {
Cost float64 `json:"cost"`
EntryPrice float64 `json:"entryPrice"`
Future string `json:"future"`
InitialMarginRequirement float64 `json:"initialMarginRequirement"`
LongOrderSize float64 `json:"longOrderSize"`
MaintenanceMarginRequirement float64 `json:"maintenanceMarginRequirement"`
NetSize float64 `json:"netSize"`
OpenSize float64 `json:"openSize"`
RealizedPnL float64 `json:"realizedPnL"`
ShortOrderSize float64 `json:"shortOrderSize"`
Side string `json:"side"`
Size float64 `json:"size"`
UnrealizedPnL float64 `json:"unrealizedPnL"`
CollateralUsed float64 `json:"collateralUsed"`
EstimatedLiquidationPrice float64 `json:"estimatedLiquidationPrice"`
}
PositionData stores data of an open position
type QuoteData ¶
type QuoteData struct {
Collateral float64 `json:"collateral"`
ID int64 `json:"id"`
Price float64 `json:"price"`
QuoteExpiry string `json:"quoteExpiry"`
Status string `json:"status"`
Time time.Time `json:"time"`
}
QuoteData stores quote's data
type QuoteForQuoteData ¶
type QuoteForQuoteData struct {
Collateral float64 `json:"collateral"`
ID int64 `json:"id"`
Option OptionData `json:"option"`
Price float64 `json:"price"`
QuoteExpiry string `json:"quoteExpiry"`
QuoterSide string `json:"quoterSide"`
RequestID int64 `json:"requestID"`
RequestSide string `json:"requestSide"`
Size float64 `json:"size"`
Status string `json:"status"`
Time time.Time `json:"time"`
}
QuoteForQuoteData gets quote data for your quote
type QuoteRequestData ¶
type QuoteRequestData struct {
ID int64 `json:"id"`
Option OptionData `json:"option"`
Side string `json:"side"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
RequestExpiry string `json:"requestExpiry"`
Status string `json:"status"`
}
QuoteRequestData stores option's quote request data
type QuoteStatusData ¶
type QuoteStatusData struct {
BaseCoin string `json:"baseCoin"`
Cost float64 `json:"cost"`
Expired bool `json:"expired"`
Filled bool `json:"filled"`
FromCoin string `json:"fromCoin"`
ID int64 `json:"id"`
Price float64 `json:"price"`
Proceeds float64 `json:"proceeds"`
QuoteCoin string `json:"quoteCoin"`
Side string `json:"side"`
ToCoin string `json:"toCoin"`
}
QuoteStatusData stores data of quotes' status
type RequestQuoteData ¶
type RequestQuoteData struct {
QuoteID int64 `json:"quoteId"`
}
RequestQuoteData stores data on the requested quote
type RequestTokenCreationData ¶
type RequestTokenCreationData struct {
ID int64 `json:"id"`
Token string `json:"token"`
RequestedSize float64 `json:"requestedSize"`
Cost float64 `json:"cost"`
Pending bool `json:"pending"`
RequestedAt time.Time `json:"requestedAt"`
}
RequestTokenCreationData stores data of the token creation requested
type Stake ¶
type Stake struct {
Coin string `json:"coin"`
CreatedAt time.Time `json:"createdAt"`
ID int64 `json:"id"`
Size float64 `json:"size"`
}
Stake stores an individual coin stake
type StakeBalance ¶
type StakeBalance struct {
Coin string `json:"coin"`
LifetimeRewards float64 `json:"lifetimeRewards"`
ScheduledToUnstake float64 `json:"scheduledToUnstake"`
Staked float64 `json:"staked"`
}
StakeBalance stores an individual coin stake balance
type StakeReward ¶
type StakeReward struct {
Coin string `json:"coin"`
ID int64 `json:"id"`
Size float64 `json:"size"`
Notes string `json:"notes"`
Status string `json:"status"`
Time time.Time `json:"time"`
}
StakeReward stores an individual staking reward
type Subaccount ¶
type Subaccount struct {
Nickname string `json:"nickname"`
Special bool `json:"special"`
Deletable bool `json:"deletable"`
Editable bool `json:"editable"`
Competition bool `json:"competition"`
}
Subaccount stores subaccount data
type SubaccountBalance ¶
type SubaccountBalance struct {
Coin string `json:"coin"`
Free float64 `json:"free"`
Total float64 `json:"total"`
SpotBorrow float64 `json:"spotBorrow"`
AvailableWithoutBorrow float64 `json:"availableWithoutBorrow"`
}
SubaccountBalance stores the user's subaccount balance
type SubaccountTransferStatus ¶
type SubaccountTransferStatus struct {
ID int64 `json:"id"`
Coin string `json:"coin"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
Notes string `json:"notes"`
Status string `json:"status"`
}
SubaccountTransferStatus stores the subaccount transfer details
type TempOBData ¶
TempOBData stores orderbook data temporarily
type TradeData ¶
type TradeData struct {
ID int64 `json:"id"`
Liquidation bool `json:"liquidation"`
Price float64 `json:"price"`
Side string `json:"side"`
Size float64 `json:"size"`
Time time.Time `json:"time"`
}
TradeData stores data from trades
type TriggerData ¶
type TriggerData struct {
Error string `json:"error"`
FilledSize float64 `json:"filledSize"`
OrderSize float64 `json:"orderSize"`
OrderID int64 `json:"orderId"`
Time time.Time `json:"time"`
}
TriggerData stores trigger orders' trigger data
type TriggerOrderData ¶
type TriggerOrderData struct {
CreatedAt time.Time `json:"createdAt"`
Error string `json:"error"`
Future string `json:"future"`
ID int64 `json:"id"`
Market string `json:"market"`
OrderID int64 `json:"orderId"`
OrderPrice float64 `json:"orderPrice"`
ReduceOnly bool `json:"reduceOnly"`
Side string `json:"side"`
Size float64 `json:"size"`
Status string `json:"status"`
TrailStart float64 `json:"trailStart"`
TrailValue float64 `json:"trailvalue"`
TriggerPrice float64 `json:"triggerPrice"`
TriggeredAt string `json:"triggeredAt"`
OrderType string `json:"type"`
MarketOrLimit string `json:"orderType"`
FilledSize float64 `json:"filledSize"`
AvgFillPrice float64 `json:"avgFillPrice"`
RetryUntilFilled bool `json:"retryUntilFilled"`
}
TriggerOrderData stores trigger order data
type UnstakeRequest ¶
type UnstakeRequest struct {
Stake
Status string `json:"status"`
UnlockAt time.Time `json:"unlockAt"`
FractionToGo float64 `json:"fractionToGo"`
Fee float64 `json:"fee"`
}
UnstakeRequest stores data for an unstake request
type WSMarkets ¶
type WSMarkets struct {
Channel string `json:"channel"`
MessageType string `json:"type"`
Data WsMarketsData `json:"data"`
Action string `json:"action"`
}
WSMarkets stores websocket markets data
type WalletBalance ¶
type WalletBalance struct {
Coin string `json:"coin"`
Free float64 `json:"free"`
Total float64 `json:"total"`
AvailableWithoutBorrow float64 `json:"availableWithoutBorrow"`
USDValue float64 `json:"usdValue"`
SpotBorrow float64 `json:"spotBorrow"`
}
WalletBalance stores balances data
type WalletCoinsData ¶
type WalletCoinsData struct {
USDFungible bool `json:"usdFungible"`
CanDeposit bool `json:"canDeposit"`
CanWithdraw bool `json:"canWithdraw"`
CanConvert bool `json:"canConvert"`
Collateral bool `json:"collateral"`
CollateralWeight float64 `json:"collateralWeight"`
CreditTo string `json:"creditTo"`
ERC20Contract string `json:"erc20Contract"`
BEP2Asset string `json:"bep2Asset"`
TRC20Contract string `json:"trc20Contract"`
SpotMargin bool `json:"spotMargin"`
IndexPrice float64 `json:"indexPrice"`
SPLMint string `json:"splMint"`
Fiat bool `json:"fiat"`
HasTag bool `json:"hasTag"`
Hidden bool `json:"hidden"`
IsETF bool `json:"isEtf"`
IsToken bool `json:"isToken"`
Methods []string `json:"methods"`
ID string `json:"id"`
Name string `json:"name"`
}
WalletCoinsData stores data about wallet coins
type WithdrawItem ¶
type WithdrawItem struct {
ID int64 `json:"id"`
Coin string `json:"coin"`
Address string `json:"address"`
Tag string `json:"tag"`
Method string `json:"method"`
TXID string `json:"txid"`
Size float64 `json:"size"`
Fee float64 `json:"fee"`
Status string `json:"status"`
Complete time.Time `json:"complete"`
Time time.Time `json:"time"`
Notes string `json:"notes"`
DestinationName string `json:"destinationName"`
}
WithdrawItem stores data about withdraw history
type WsFills ¶
type WsFills struct {
ID int64 `json:"id"`
Market string `json:"market"`
Future string `json:"future"`
BaseCurrency string `json:"baseCurrency"`
QuoteCurrency string `json:"quoteCurrency"`
Type string `json:"type"`
Side string `json:"side"`
Price float64 `json:"price"`
Size float64 `json:"size"`
OrderID int64 `json:"orderId"`
Time time.Time `json:"time"`
TradeID int64 `json:"tradeId"`
FeeRate float64 `json:"feeRate"`
Fee float64 `json:"fee"`
FeeCurrency string `json:"feeCurrency"`
Liquidity string `json:"liquidity"`
}
WsFills stores websocket fills' data
type WsFillsDataStore ¶
type WsFillsDataStore struct {
Channel string `json:"channel"`
MessageType string `json:"type"`
FillsData WsFills `json:"data"`
}
WsFillsDataStore stores ws fills' data
type WsMarketsData ¶
type WsMarketsData struct {
Data map[string]WsMarketsDataStorage `json:"data"`
}
WsMarketsData stores websocket markets data
type WsMarketsDataStorage ¶
type WsMarketsDataStorage struct {
Name string `json:"name,omitempty"`
Enabled bool `json:"enabled,omitempty"`
PriceIncrement float64 `json:"priceIncrement,omitempty"`
SizeIncrement float64 `json:"sizeIncrement,omitempty"`
MarketType string `json:"marketType,omitempty"`
BaseCurrency string `json:"baseCurrency,omitempty"`
QuoteCurrency string `json:"quoteCurrency,omitempty"`
Underlying string `json:"underlying,omitempty"`
Restricted bool `json:"restricted,omitempty"`
Future WsMarketsFutureData `json:"future,omitempty"`
}
WsMarketsDataStorage stores websocket markets data
type WsMarketsFutureData ¶
type WsMarketsFutureData struct {
Name string `json:"name,omitempty"`
Underlying string `json:"underlying,omitempty"`
Description string `json:"description,omitempty"`
MarketType string `json:"type,omitempty"`
Expiry time.Time `json:"expiry,omitempty"`
Perpetual bool `json:"perpetual,omitempty"`
Expired bool `json:"expired,omitempty"`
Enabled bool `json:"enabled,omitempty"`
PostOnly bool `json:"postOnly,omitempty"`
IMFFactor float64 `json:"imfFactor,omitempty"`
UnderlyingDescription string `json:"underlyingDescription,omitempty"`
ExpiryDescription string `json:"expiryDescription,omitempty"`
MoveStart string `json:"moveStart,omitempty"`
PositionLimitWeight float64 `json:"positionLimitWeight,omitempty"`
Group string `json:"group,omitempty"`
}
WsMarketsFutureData stores websocket markets' future data
type WsOrderDataStore ¶
type WsOrderDataStore struct {
Channel string `json:"channel"`
MessageType string `json:"type"`
OrderData WsOrders `json:"data"`
}
WsOrderDataStore stores ws orders' data
type WsOrderbookData ¶
type WsOrderbookData struct {
Action string `json:"action"`
Bids [][2]float64 `json:"bids"`
Asks [][2]float64 `json:"asks"`
Time float64 `json:"time"`
Checksum int64 `json:"checksum"`
}
WsOrderbookData stores ws orderbook data
type WsOrderbookDataStore ¶
type WsOrderbookDataStore struct {
Channel string `json:"channel"`
Market string `json:"market"`
MessageType string `json:"type"`
OBData WsOrderbookData `json:"data"`
}
WsOrderbookDataStore stores ws orderbook data
type WsOrders ¶
type WsOrders struct {
ID int64 `json:"id"`
ClientID string `json:"clientId"`
Market string `json:"market"`
OrderType string `json:"type"`
Side string `json:"side"`
Price float64 `json:"price"`
Size float64 `json:"size"`
Status string `json:"status"`
FilledSize float64 `json:"filledSize"`
RemainingSize float64 `json:"remainingSize"`
ReduceOnly bool `json:"reduceOnly"`
Liquidation bool `json:"liquidation"`
AvgFillPrice float64 `json:"avgFillPrice"`
PostOnly bool `json:"postOnly"`
IOC bool `json:"ioc"`
CreatedAt time.Time `json:"createdAt"`
}
WsOrders stores ws orders' data
type WsResponseData ¶
type WsResponseData struct {
ResponseType string `json:"type"`
Channel string `json:"channel"`
Market string `json:"market"`
Data interface{} `json:"data"`
}
WsResponseData stores basic ws response data on being subscribed to a channel successfully
type WsSub ¶
type WsSub struct {
Channel string `json:"channel,omitempty"`
Market string `json:"market,omitempty"`
Operation string `json:"op,omitempty"`
}
WsSub has the data used to subscribe to a channel
type WsTickerData ¶
type WsTickerData struct {
Bid float64 `json:"bid"`
Ask float64 `json:"ask"`
BidSize float64 `json:"bidSize"`
AskSize float64 `json:"askSize"`
Last float64 `json:"last"`
Time float64 `json:"time"`
}
WsTickerData stores ws ticker data
type WsTickerDataStore ¶
type WsTickerDataStore struct {
Channel string `json:"channel"`
Market string `json:"market"`
MessageType string `json:"type"`
Ticker WsTickerData `json:"data"`
}
WsTickerDataStore stores ws ticker data
type WsTradeData ¶
type WsTradeData struct {
ID int64 `json:"id"`
Price float64 `json:"price"`
Size float64 `json:"size"`
Side string `json:"side"`
Liquidation bool `json:"liquidation"`
Time time.Time `json:"time"`
}
WsTradeData stores ws trade data
type WsTradeDataStore ¶
type WsTradeDataStore struct {
Channel string `json:"channel"`
Market string `json:"market"`
MessageType string `json:"type"`
TradeData []WsTradeData `json:"data"`
}
WsTradeDataStore stores ws trades' data