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