Documentation ¶
Index ¶
- Variables
- func GetRateLimit() request.RateLimitDefinitions
- type APIV4KeyPerm
- type AccountBalanceInformation
- type AccountBook
- type AccountBookItem
- type AmendFuturesOrderParam
- type BalanceDetails
- type CancelOrderByIDParam
- type CancelOrderByIDResponse
- type Candlestick
- type ClosePositionRequestParam
- type ContractClosePosition
- type ContractStat
- type CountdownCancelOrderParam
- type CountdownParams
- type CreateAPIKeyResponse
- type CreateAPIKeySubAccountParams
- type CreateOrderRequestData
- type CrossMarginAccount
- type CrossMarginAccountHistoryItem
- type CrossMarginBalance
- type CrossMarginBorrowLoanParams
- type CrossMarginCurrencies
- type CrossMarginCurrencyBalance
- type CrossMarginLoanResponse
- type CurrencyAndAmount
- type CurrencyBalanceAmount
- type CurrencyChain
- type CurrencyDepositAddressInfo
- type CurrencyInfo
- type CurrencyPairDetail
- type DeliveryContract
- type DeliveryTradingHistory
- type DepositRecord
- type DualModeResponse
- type FlashSwapOrderParams
- type FlashSwapOrderResponse
- type FuturesAccount
- type FuturesCandlestick
- type FuturesContract
- type FuturesFundingRate
- type FuturesInitial
- type FuturesPremiumIndexKLineResponse
- type FuturesPriceTriggeredOrderParam
- type FuturesSubAccountBalance
- type FuturesTicker
- type FuturesTrigger
- type Gateio
- func (g *Gateio) AmendFuturesOrder(ctx context.Context, settle currency.Code, orderID string, ...) (*Order, error)
- func (g *Gateio) AmendSpotOrder(ctx context.Context, orderID string, currencyPair currency.Pair, ...) (*SpotOrder, error)
- func (g *Gateio) CancelAllDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, contract currency.Pair) ([]PriceTriggeredOrder, error)
- func (g *Gateio) CancelAllFuturesOpenOrders(ctx context.Context, settle currency.Code, contract currency.Pair) ([]PriceTriggeredOrder, error)
- func (g *Gateio) CancelAllOpenOrdersSpecifiedCurrencyPair(ctx context.Context, currencyPair currency.Pair, side order.Side, ...) ([]SpotOrder, error)
- func (g *Gateio) CancelAllOrders(ctx context.Context, o *order.Cancel) (order.CancelAllResponse, error)
- func (g *Gateio) CancelBatchOrders(ctx context.Context, o []order.Cancel) (*order.CancelBatchResponse, error)
- func (g *Gateio) CancelBatchOrdersWithIDList(ctx context.Context, args []CancelOrderByIDParam) ([]CancelOrderByIDResponse, error)
- func (g *Gateio) CancelDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
- func (g *Gateio) CancelFuturesPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
- func (g *Gateio) CancelLendingLoan(ctx context.Context, ccy currency.Code, loanID string) (*MarginLoanResponse, error)
- func (g *Gateio) CancelMultipleDeliveryOrders(ctx context.Context, contract currency.Pair, side string, settle currency.Code) ([]Order, error)
- func (g *Gateio) CancelMultipleFuturesOpenOrders(ctx context.Context, contract currency.Pair, side string, settle currency.Code) ([]Order, error)
- func (g *Gateio) CancelMultipleOptionOpenOrders(ctx context.Context, contract currency.Pair, underlying, side string) ([]OptionOrderResponse, error)
- func (g *Gateio) CancelMultipleSpotOpenOrders(ctx context.Context, currencyPair currency.Pair, account asset.Item) ([]SpotPriceTriggeredOrder, error)
- func (g *Gateio) CancelOptionSingleOrder(ctx context.Context, orderID string) (*OptionOrderResponse, error)
- func (g *Gateio) CancelOrder(ctx context.Context, o *order.Cancel) error
- func (g *Gateio) CancelPriceTriggeredOrder(ctx context.Context, orderID string) (*SpotPriceTriggeredOrder, error)
- func (g *Gateio) CancelSingleDeliveryOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
- func (g *Gateio) CancelSingleFuturesOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
- func (g *Gateio) CancelSingleSpotOrder(ctx context.Context, orderID, currencyPair string, isCrossMarginAccount bool) (*SpotOrder, error)
- func (g *Gateio) CancelWithdrawalWithSpecifiedID(ctx context.Context, withdrawalID string) (*WithdrawalResponse, error)
- func (g *Gateio) CountdownCancelOrders(ctx context.Context, settle currency.Code, arg CountdownParams) (*TriggerTimeResponse, error)
- func (g *Gateio) CountdownCancelorders(ctx context.Context, arg CountdownCancelOrderParam) (*TriggerTimeResponse, error)
- func (g *Gateio) CreateAPIKeysOfSubAccount(ctx context.Context, arg CreateAPIKeySubAccountParams) (*CreateAPIKeyResponse, error)
- func (g *Gateio) CreateBatchOrders(ctx context.Context, args []CreateOrderRequestData) ([]SpotOrder, error)
- func (g *Gateio) CreateCrossMarginBorrowLoan(ctx context.Context, arg CrossMarginBorrowLoanParams) (*CrossMarginLoanResponse, error)
- func (g *Gateio) CreateFlashSwapOrder(ctx context.Context, arg FlashSwapOrderParams) (*FlashSwapOrderResponse, error)
- func (g *Gateio) CreateNewSubAccount(ctx context.Context, arg SubAccountParams) (*SubAccount, error)
- func (g *Gateio) CreatePriceTriggeredFuturesOrder(ctx context.Context, settle currency.Code, ...) (*OrderID, error)
- func (g *Gateio) CreatePriceTriggeredOrder(ctx context.Context, arg *PriceTriggeredOrderParam) (*OrderID, error)
- func (g *Gateio) CurrencySupportedByCrossMargin(ctx context.Context) ([]CrossMarginCurrencies, error)
- func (g *Gateio) DeliveryFuturesSubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) DeliveryFuturesUnsubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) EnableOrDisableDualMode(ctx context.Context, settle currency.Code, dualMode bool) (*DualModeResponse, error)
- func (g *Gateio) ExecuteRepayment(ctx context.Context, arg CurrencyAndAmount) ([]CrossMarginLoanResponse, error)
- func (g *Gateio) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (g *Gateio) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (g *Gateio) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (g *Gateio) FetchTradablePairs(ctx context.Context, a asset.Item) (currency.Pairs, error)
- func (g *Gateio) FuturesSubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) FuturesUnsubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) GateIOGetPersonalTradingHistory(ctx context.Context, currencyPair currency.Pair, orderID string, ...) ([]SpotPersonalTradeHistory, error)
- func (g *Gateio) GateioSpotOpenOrders(ctx context.Context, page, limit uint64, isCrossMargin bool) ([]SpotOrdersDetail, error)
- func (g *Gateio) GenerateCurrencyDepositAddress(ctx context.Context, ccy currency.Code) (*CurrencyDepositAddressInfo, error)
- func (g *Gateio) GenerateDeliveryFuturesDefaultSubscriptions() (subscription.List, error)
- func (g *Gateio) GenerateFuturesDefaultSubscriptions(settlement currency.Code) (subscription.List, error)
- func (g *Gateio) GenerateOptionsDefaultSubscriptions() (subscription.List, error)
- func (g *Gateio) GenerateSignature(secret, method, path, query string, body interface{}, dtime time.Time) (string, error)
- func (g *Gateio) GenerateWebsocketMessageID(bool) int64
- func (g *Gateio) GetAPIKeyOfSubAccount(ctx context.Context, subAccountUserID int64, apiKey string) (*CreateAPIKeyResponse, error)
- func (g *Gateio) GetAccountChangingHistory(ctx context.Context, offset, limit uint64, from, to time.Time, ...) ([]AccountBook, error)
- func (g *Gateio) GetAccountFundingHistory(_ context.Context) ([]exchange.FundingHistory, error)
- func (g *Gateio) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
- func (g *Gateio) GetAllAPIKeyOfSubAccount(ctx context.Context, userID int64) ([]CreateAPIKeyResponse, error)
- func (g *Gateio) GetAllContractOfUnderlyingWithinExpiryDate(ctx context.Context, underlying string, expTime time.Time) ([]OptionContract, error)
- func (g *Gateio) GetAllDeliveryContracts(ctx context.Context, settle currency.Code) ([]DeliveryContract, error)
- func (g *Gateio) GetAllDeliveryPositionsOfUser(ctx context.Context, settle currency.Code) (*Position, error)
- func (g *Gateio) GetAllFlashSwapOrders(ctx context.Context, status int, sellCurrency, buyCurrency currency.Code, ...) ([]FlashSwapOrderResponse, error)
- func (g *Gateio) GetAllFutureContracts(ctx context.Context, settle currency.Code) ([]FuturesContract, error)
- func (g *Gateio) GetAllFuturesPositionsOfUsers(ctx context.Context, settle currency.Code, realPositionsOnly bool) ([]Position, error)
- func (g *Gateio) GetAllOptionsUnderlyings(ctx context.Context) ([]OptionUnderlying, error)
- func (g *Gateio) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
- func (g *Gateio) GetCandlesticks(ctx context.Context, currencyPair currency.Pair, limit uint64, ...) ([]Candlestick, error)
- func (g *Gateio) GetCrossMarginAccountChangeHistory(ctx context.Context, ccy currency.Code, from, to time.Time, page, limit uint64, ...) ([]CrossMarginAccountHistoryItem, error)
- func (g *Gateio) GetCrossMarginAccounts(ctx context.Context) (*CrossMarginAccount, error)
- func (g *Gateio) GetCrossMarginBorrowHistory(ctx context.Context, status uint64, ccy currency.Code, limit, offset uint64, ...) ([]CrossMarginLoanResponse, error)
- func (g *Gateio) GetCrossMarginRepayments(ctx context.Context, ccy currency.Code, loanID string, limit, offset uint64, ...) ([]CrossMarginLoanResponse, error)
- func (g *Gateio) GetCrossMarginSupportedCurrencyDetail(ctx context.Context, ccy currency.Code) (*CrossMarginCurrencies, error)
- func (g *Gateio) GetCurrencyDetail(ctx context.Context, ccy currency.Code) (*CurrencyInfo, error)
- func (g *Gateio) GetCurrencyPairDetail(ctx context.Context, currencyPair string) (*CurrencyPairDetail, error)
- func (g *Gateio) GetCurrencyTradeURL(_ context.Context, a asset.Item, cp currency.Pair) (string, error)
- func (g *Gateio) GetDeliveryAccountBooks(ctx context.Context, settle currency.Code, limit uint64, from, to time.Time, ...) ([]AccountBookItem, error)
- func (g *Gateio) GetDeliveryAllAutoOrder(ctx context.Context, status string, settle currency.Code, ...) ([]PriceTriggeredOrder, error)
- func (g *Gateio) GetDeliveryFutureTickers(ctx context.Context, settle currency.Code, contract currency.Pair) ([]FuturesTicker, error)
- func (g *Gateio) GetDeliveryFuturesAccounts(ctx context.Context, settle currency.Code) (*FuturesAccount, error)
- func (g *Gateio) GetDeliveryFuturesCandlesticks(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]FuturesCandlestick, error)
- func (g *Gateio) GetDeliveryInsuranceBalanceHistory(ctx context.Context, settle currency.Code, limit uint64) ([]InsuranceBalance, error)
- func (g *Gateio) GetDeliveryLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]LiquidationHistoryItem, error)
- func (g *Gateio) GetDeliveryOrderbook(ctx context.Context, settle currency.Code, interval string, ...) (*Orderbook, error)
- func (g *Gateio) GetDeliveryOrders(ctx context.Context, contract currency.Pair, status string, ...) ([]Order, error)
- func (g *Gateio) GetDeliveryPersonalTradingHistory(ctx context.Context, settle currency.Code, orderID string, ...) ([]TradingHistoryItem, error)
- func (g *Gateio) GetDeliveryPositionCloseHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]PositionCloseHistoryResponse, error)
- func (g *Gateio) GetDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, ...) (*OrderID, error)
- func (g *Gateio) GetDeliverySettlementHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]SettlementHistoryItem, error)
- func (g *Gateio) GetDeliveryTradingHistory(ctx context.Context, settle currency.Code, lastID string, ...) ([]DeliveryTradingHistory, error)
- func (g *Gateio) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
- func (g *Gateio) GetDepositRecords(ctx context.Context, ccy currency.Code, from, to time.Time, ...) ([]DepositRecord, error)
- func (g *Gateio) GetExpirationTime(ctx context.Context, underlying string) (time.Time, error)
- func (g *Gateio) GetFee(ctx context.Context, feeBuilder *exchange.FeeBuilder) (fee float64, err error)
- func (g *Gateio) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (g *Gateio) GetFutureFundingRates(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]FuturesFundingRate, error)
- func (g *Gateio) GetFutureStats(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]ContractStat, error)
- func (g *Gateio) GetFuturesAccountBooks(ctx context.Context, settle currency.Code, limit uint64, from, to time.Time, ...) ([]AccountBookItem, error)
- func (g *Gateio) GetFuturesCandlesticks(ctx context.Context, settle currency.Code, contract string, from, to time.Time, ...) ([]FuturesCandlestick, error)
- func (g *Gateio) GetFuturesContractDetails(ctx context.Context, item asset.Item) ([]futures.Contract, error)
- func (g *Gateio) GetFuturesInsuranceBalanceHistory(ctx context.Context, settle currency.Code, limit uint64) ([]InsuranceBalance, error)
- func (g *Gateio) GetFuturesLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]LiquidationHistoryItem, error)
- func (g *Gateio) GetFuturesOrderbook(ctx context.Context, settle currency.Code, contract, interval string, ...) (*Orderbook, error)
- func (g *Gateio) GetFuturesOrders(ctx context.Context, contract currency.Pair, status, lastID string, ...) ([]Order, error)
- func (g *Gateio) GetFuturesPositionCloseHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]PositionCloseHistoryResponse, error)
- func (g *Gateio) GetFuturesTickers(ctx context.Context, settle currency.Code, contract currency.Pair) ([]FuturesTicker, error)
- func (g *Gateio) GetFuturesTradingHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]TradingHistoryItem, error)
- func (g *Gateio) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, ...) (*kline.Item, error)
- func (g *Gateio) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, ...) (*kline.Item, error)
- func (g *Gateio) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
- func (g *Gateio) GetHistoricalFundingRates(ctx context.Context, r *fundingrate.HistoricalRatesRequest) (*fundingrate.HistoricalRates, error)
- func (g *Gateio) GetIndexConstituent(ctx context.Context, settle currency.Code, index string) (*IndexConstituent, error)
- func (g *Gateio) GetIntervalFromString(interval string) (kline.Interval, error)
- func (g *Gateio) GetIntervalString(interval kline.Interval) (string, error)
- func (g *Gateio) GetLatestFundingRates(ctx context.Context, r *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, error)
- func (g *Gateio) GetLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]LiquidationHistory, error)
- func (g *Gateio) GetMarginAccountList(ctx context.Context, currencyPair currency.Pair) ([]MarginAccountItem, error)
- func (g *Gateio) GetMarginAllLoans(ctx context.Context, status, side, sortBy string, ccy currency.Code, ...) ([]MarginLoanResponse, error)
- func (g *Gateio) GetMarginFundingAccountList(ctx context.Context, ccy currency.Code) ([]MarginFundingAccountItem, error)
- func (g *Gateio) GetMarginSupportedCurrencyPairs(ctx context.Context) ([]MarginCurrencyPairInfo, error)
- func (g *Gateio) GetMarketTrades(ctx context.Context, pairString currency.Pair, limit uint64, lastID string, ...) ([]Trade, error)
- func (g *Gateio) GetMaxBorrowableAmountForSpecificCrossMarginCurrency(ctx context.Context, ccy currency.Code) (*CurrencyAndAmount, error)
- func (g *Gateio) GetMaxBorrowableAmountForSpecificMarginCurrency(ctx context.Context, ccy currency.Code, currencyPair currency.Pair) (*MaxTransferAndLoanAmount, error)
- func (g *Gateio) GetMaxTransferableAmountForSpecificCrossMarginCurrency(ctx context.Context, ccy currency.Code) (*CurrencyAndAmount, error)
- func (g *Gateio) GetMaxTransferableAmountForSpecificMarginCurrency(ctx context.Context, ccy currency.Code, currencyPair currency.Pair) (*MaxTransferAndLoanAmount, error)
- func (g *Gateio) GetMyOptionsSettlements(ctx context.Context, underlying string, contract currency.Pair, ...) ([]MyOptionSettlement, error)
- func (g *Gateio) GetMyPersonalTradingHistory(ctx context.Context, settle currency.Code, lastID, orderID string, ...) ([]TradingHistoryItem, error)
- func (g *Gateio) GetOneSingleLoanRecord(ctx context.Context, loanID, loanRecordID string) (*LoanRecord, error)
- func (g *Gateio) GetOpenInterest(ctx context.Context, k ...key.PairAsset) ([]futures.OpenInterest, error)
- func (g *Gateio) GetOptionAccounts(ctx context.Context) (*OptionAccount, error)
- func (g *Gateio) GetOptionFuturesCandlesticks(ctx context.Context, contract currency.Pair, limit uint64, from, to time.Time, ...) ([]FuturesCandlestick, error)
- func (g *Gateio) GetOptionFuturesMarkPriceCandlesticks(ctx context.Context, underlying string, limit uint64, from, to time.Time, ...) ([]FuturesCandlestick, error)
- func (g *Gateio) GetOptionFuturesOrders(ctx context.Context, contract currency.Pair, underlying, status string, ...) ([]OptionOrderResponse, error)
- func (g *Gateio) GetOptionUnderlyingTickers(ctx context.Context, underlying string) (*OptionsUnderlyingTicker, error)
- func (g *Gateio) GetOptionsOrderbook(ctx context.Context, contract currency.Pair, interval string, limit uint64, ...) (*Orderbook, error)
- func (g *Gateio) GetOptionsPersonalTradingHistory(ctx context.Context, underlying string, contract currency.Pair, ...) ([]OptionTradingHistory, error)
- func (g *Gateio) GetOptionsSpecifiedContractDetail(ctx context.Context, contract currency.Pair) (*OptionContract, error)
- func (g *Gateio) GetOptionsSpecifiedContractsSettlement(ctx context.Context, contract currency.Pair, underlying string, at int64) (*OptionSettlement, error)
- func (g *Gateio) GetOptionsTickers(ctx context.Context, underlying string) ([]OptionsTicker, error)
- func (g *Gateio) GetOptionsTradeHistory(ctx context.Context, contract currency.Pair, callType string, ...) ([]TradingHistoryItem, error)
- func (g *Gateio) GetOrderHistory(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
- func (g *Gateio) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, a asset.Item) (*order.Detail, error)
- func (g *Gateio) GetOrderbook(ctx context.Context, pairString, interval string, limit uint64, ...) (*Orderbook, error)
- func (g *Gateio) GetOrderbookOfLendingLoans(ctx context.Context, ccy currency.Code) ([]OrderbookOfLendingLoan, error)
- func (g *Gateio) GetPersonalTradingFee(ctx context.Context, currencyPair currency.Pair, settle currency.Code) (*PersonalTradingFee, error)
- func (g *Gateio) GetPriceTriggeredOrderList(ctx context.Context, status string, market currency.Pair, account asset.Item, ...) ([]SpotPriceTriggeredOrder, error)
- func (g *Gateio) GetRecentTrades(ctx context.Context, p currency.Pair, a asset.Item) ([]trade.Data, error)
- func (g *Gateio) GetSavedAddresses(ctx context.Context, ccy currency.Code, chain string, limit uint64) ([]WalletSavedAddress, error)
- func (g *Gateio) GetServerTime(ctx context.Context, _ asset.Item) (time.Time, error)
- func (g *Gateio) GetSettlementHistory(ctx context.Context, underlying string, offset, limit uint64, ...) ([]OptionSettlement, error)
- func (g *Gateio) GetSingleBorrowLoanDetail(ctx context.Context, loanID string) (*CrossMarginLoanResponse, error)
- func (g *Gateio) GetSingleContract(ctx context.Context, settle currency.Code, contract string) (*FuturesContract, error)
- func (g *Gateio) GetSingleDeliveryContracts(ctx context.Context, settle currency.Code, contract currency.Pair) (*DeliveryContract, error)
- func (g *Gateio) GetSingleDeliveryOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
- func (g *Gateio) GetSingleDeliveryPosition(ctx context.Context, settle currency.Code, contract currency.Pair) (*Position, error)
- func (g *Gateio) GetSingleDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
- func (g *Gateio) GetSingleFlashSwapOrder(ctx context.Context, orderID string) (*FlashSwapOrderResponse, error)
- func (g *Gateio) GetSingleFuturesOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
- func (g *Gateio) GetSingleFuturesPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
- func (g *Gateio) GetSingleMarginSupportedCurrencyPair(ctx context.Context, market currency.Pair) (*MarginCurrencyPairInfo, error)
- func (g *Gateio) GetSingleOptionOrder(ctx context.Context, orderID string) (*OptionOrderResponse, error)
- func (g *Gateio) GetSinglePosition(ctx context.Context, settle currency.Code, contract currency.Pair) (*Position, error)
- func (g *Gateio) GetSinglePriceTriggeredOrder(ctx context.Context, orderID string) (*SpotPriceTriggeredOrder, error)
- func (g *Gateio) GetSingleSubAccount(ctx context.Context, userID string) (*SubAccount, error)
- func (g *Gateio) GetSpecifiedContractPosition(ctx context.Context, contract currency.Pair) (*UsersPositionForUnderlying, error)
- func (g *Gateio) GetSpotAccounts(ctx context.Context, ccy currency.Code) ([]SpotAccount, error)
- func (g *Gateio) GetSpotOrder(ctx context.Context, orderID string, currencyPair currency.Pair, ...) (*SpotOrder, error)
- func (g *Gateio) GetSpotOrders(ctx context.Context, currencyPair currency.Pair, status string, ...) ([]SpotOrder, error)
- func (g *Gateio) GetSubAccountBalances(ctx context.Context, subAccountUserID string) ([]FuturesSubAccountBalance, error)
- func (g *Gateio) GetSubAccountCrossMarginBalances(ctx context.Context, subAccountUserID string) ([]SubAccountCrossMarginInfo, error)
- func (g *Gateio) GetSubAccountFuturesBalances(ctx context.Context, subAccountUserID string, settle currency.Code) ([]FuturesSubAccountBalance, error)
- func (g *Gateio) GetSubAccountMarginBalances(ctx context.Context, subAccountUserID string) ([]SubAccountMarginBalance, error)
- func (g *Gateio) GetSubAccountTransferHistory(ctx context.Context, subAccountUserID string, from, to time.Time, ...) ([]SubAccountTransferResponse, error)
- func (g *Gateio) GetSubAccounts(ctx context.Context) ([]SubAccount, error)
- func (g *Gateio) GetSubscriptionTemplate(_ *subscription.Subscription) (*template.Template, error)
- func (g *Gateio) GetSupportedFlashSwapCurrencies(ctx context.Context) ([]SwapCurrencies, error)
- func (g *Gateio) GetTicker(ctx context.Context, currencyPair, timezone string) (*Ticker, error)
- func (g *Gateio) GetTickers(ctx context.Context, currencyPair, timezone string) ([]Ticker, error)
- func (g *Gateio) GetTradingFeeRatio(ctx context.Context, currencyPair currency.Pair) (*SpotTradingFeeRate, error)
- func (g *Gateio) GetUnderlyingFromCurrencyPair(p currency.Pair) (currency.Pair, error)
- func (g *Gateio) GetUnifiedAccount(ctx context.Context, ccy currency.Code) (*UnifiedUserAccount, error)
- func (g *Gateio) GetUserAutoRepaymentSetting(ctx context.Context) (*OnOffStatus, error)
- func (g *Gateio) GetUsersLiquidationHistoryForSpecifiedUnderlying(ctx context.Context, underlying string, contract currency.Pair) ([]ContractClosePosition, error)
- func (g *Gateio) GetUsersPositionSpecifiedUnderlying(ctx context.Context, underlying string) ([]UsersPositionForUnderlying, error)
- func (g *Gateio) GetUsersTotalBalance(ctx context.Context, ccy currency.Code) (*UsersAllAccountBalance, error)
- func (g *Gateio) GetWithdrawalRecords(ctx context.Context, ccy currency.Code, from, to time.Time, ...) ([]WithdrawalResponse, error)
- func (g *Gateio) GetWithdrawalStatus(ctx context.Context, ccy currency.Code) ([]WithdrawalStatus, error)
- func (g *Gateio) GetWithdrawalsHistory(ctx context.Context, c currency.Code, _ asset.Item) ([]exchange.WithdrawalHistory, error)
- func (g *Gateio) InitiateFlashSwapOrderReview(ctx context.Context, arg FlashSwapOrderParams) (*InitFlashSwapOrderPreviewResponse, error)
- func (g *Gateio) IsPerpetualFutureCurrency(a asset.Item, _ currency.Pair) (bool, error)
- func (g *Gateio) IsValidPairString(currencyPair string) bool
- func (g *Gateio) ListAllFuturesAutoOrders(ctx context.Context, status string, settle currency.Code, ...) ([]PriceTriggeredOrder, error)
- func (g *Gateio) ListCurrencyChain(ctx context.Context, ccy currency.Code) ([]CurrencyChain, error)
- func (g *Gateio) ListLoanRepaymentRecords(ctx context.Context, loanID string) ([]LoanRepaymentRecord, error)
- func (g *Gateio) ListMarginAccountBalanceChangeHistory(ctx context.Context, ccy currency.Code, currencyPair currency.Pair, ...) ([]MarginAccountBalanceChangeInfo, error)
- func (g *Gateio) ListRepaymentRecordsOfSpecificLoan(ctx context.Context, loanID, status string, page, limit uint64) ([]LoanRecord, error)
- func (g *Gateio) ListSpotCurrencies(ctx context.Context) ([]CurrencyInfo, error)
- func (g *Gateio) ListSpotCurrencyPairs(ctx context.Context) ([]CurrencyPairDetail, error)
- func (g *Gateio) LockSubAccount(ctx context.Context, subAccountUserID int64) error
- func (g *Gateio) MarginLoan(ctx context.Context, arg *MarginLoanRequestParam) (*MarginLoanResponse, error)
- func (g *Gateio) MergeMultipleLendingLoans(ctx context.Context, ccy currency.Code, ids []string) (*MarginLoanResponse, error)
- func (g *Gateio) ModifyALoan(ctx context.Context, loanID string, arg *ModifyLoanRequestParam) (*MarginLoanResponse, error)
- func (g *Gateio) ModifyALoanRecord(ctx context.Context, loanRecordID string, arg *ModifyLoanRequestParam) (*LoanRecord, error)
- func (g *Gateio) ModifyOrder(_ context.Context, _ *order.Modify) (*order.ModifyResponse, error)
- func (g *Gateio) OptionsSubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) OptionsUnsubscribe(ctx context.Context, conn stream.Connection, ...) error
- func (g *Gateio) PlaceBatchFuturesOrders(ctx context.Context, settle currency.Code, args []OrderCreateParams) ([]Order, error)
- func (g *Gateio) PlaceDeliveryOrder(ctx context.Context, arg *OrderCreateParams) (*Order, error)
- func (g *Gateio) PlaceFuturesOrder(ctx context.Context, arg *OrderCreateParams) (*Order, error)
- func (g *Gateio) PlaceOptionOrder(ctx context.Context, arg *OptionOrderParam) (*OptionOrderResponse, error)
- func (g *Gateio) PlaceSpotOrder(ctx context.Context, arg *CreateOrderRequestData) (*SpotOrder, error)
- func (g *Gateio) PremiumIndexKLine(ctx context.Context, settleCurrency currency.Code, contract currency.Pair, ...) ([]FuturesPremiumIndexKLineResponse, error)
- func (g *Gateio) QueryFuturesAccount(ctx context.Context, settle currency.Code) (*FuturesAccount, error)
- func (g *Gateio) RepayALoan(ctx context.Context, loanID string, arg *RepayLoanRequestParam) (*MarginLoanResponse, error)
- func (g *Gateio) RetriveOneSingleLoanDetail(ctx context.Context, side, loanID string) (*MarginLoanResponse, error)
- func (g *Gateio) RetrivePositionDetailInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair) ([]Position, error)
- func (g *Gateio) SendAuthenticatedHTTPRequest(ctx context.Context, ep exchange.URL, epl request.EndpointLimit, ...) error
- func (g *Gateio) SendHTTPRequest(ctx context.Context, ep exchange.URL, epl request.EndpointLimit, path string, ...) error
- func (g *Gateio) SetDefaults()
- func (g *Gateio) Setup(exch *config.Exchange) error
- func (g *Gateio) SpotClosePositionWhenCrossCurrencyDisabled(ctx context.Context, arg *ClosePositionRequestParam) (*SpotOrder, error)
- func (g *Gateio) SubAccountTransfer(ctx context.Context, arg SubAccountTransferParam) error
- func (g *Gateio) SubAccountTransferToSubAccount(ctx context.Context, arg *InterSubAccountTransferParams) error
- func (g *Gateio) SubmitOrder(ctx context.Context, s *order.Submit) (*order.SubmitResponse, error)
- func (g *Gateio) Subscribe(ctx context.Context, conn stream.Connection, subs subscription.List) error
- func (g *Gateio) TransferCurrency(ctx context.Context, arg *TransferCurrencyParam) (*TransactionIDResponse, error)
- func (g *Gateio) UnlockSubAccount(ctx context.Context, subAccountUserID int64) error
- func (g *Gateio) Unsubscribe(ctx context.Context, conn stream.Connection, subs subscription.List) error
- func (g *Gateio) UpdateAPIKeyOfSubAccount(ctx context.Context, subAccountAPIKey string, arg CreateAPIKeySubAccountParams) error
- func (g *Gateio) UpdateAccountInfo(ctx context.Context, a asset.Item) (account.Holdings, error)
- func (g *Gateio) UpdateDeliveryPositionLeverage(ctx context.Context, settle currency.Code, contract currency.Pair, ...) (*Position, error)
- func (g *Gateio) UpdateDeliveryPositionMargin(ctx context.Context, settle currency.Code, change float64, ...) (*Position, error)
- func (g *Gateio) UpdateDeliveryPositionRiskLimit(ctx context.Context, settle currency.Code, contract currency.Pair, ...) (*Position, error)
- func (g *Gateio) UpdateFuturesPositionLeverage(ctx context.Context, settle currency.Code, contract currency.Pair, ...) (*Position, error)
- func (g *Gateio) UpdateFuturesPositionMargin(ctx context.Context, settle currency.Code, change float64, ...) (*Position, error)
- func (g *Gateio) UpdateFuturesPositionRiskLimit(ctx context.Context, settle currency.Code, contract currency.Pair, ...) (*Position, error)
- func (g *Gateio) UpdateOrderExecutionLimits(ctx context.Context, a asset.Item) error
- func (g *Gateio) UpdateOrderbook(ctx context.Context, p currency.Pair, a asset.Item) (*orderbook.Base, error)
- func (g *Gateio) UpdatePositionLeverageInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, ...) (*Position, error)
- func (g *Gateio) UpdatePositionMarginInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]Position, error)
- func (g *Gateio) UpdatePositionRiskLimitInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, ...) ([]Position, error)
- func (g *Gateio) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
- func (g *Gateio) UpdateTickers(ctx context.Context, a asset.Item) error
- func (g *Gateio) UpdateTradablePairs(ctx context.Context, forceUpdate bool) error
- func (g *Gateio) UpdateUsersAutoRepaymentSetting(ctx context.Context, statusOn bool) (*OnOffStatus, error)
- func (g *Gateio) ValidateAPICredentials(ctx context.Context, assetType asset.Item) error
- func (g *Gateio) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (g *Gateio) WithdrawCurrency(ctx context.Context, arg WithdrawalRequestParam) (*WithdrawalResponse, error)
- func (g *Gateio) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (g *Gateio) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (g *Gateio) WsConnectSpot(ctx context.Context, conn stream.Connection) error
- func (g *Gateio) WsDeliveryFuturesConnect(ctx context.Context, conn stream.Connection) error
- func (g *Gateio) WsFuturesConnect(ctx context.Context, conn stream.Connection) error
- func (g *Gateio) WsHandleFuturesData(_ context.Context, respRaw []byte, a asset.Item) error
- func (g *Gateio) WsHandleOptionsData(_ context.Context, respRaw []byte) error
- func (g *Gateio) WsHandleSpotData(_ context.Context, respRaw []byte) error
- func (g *Gateio) WsOptionsConnect(ctx context.Context, conn stream.Connection) error
- type GeneratePayload
- type IndexConstituent
- type InitFlashSwapOrderPreviewResponse
- type InsuranceBalance
- type InterSubAccountTransferParams
- type LiquidationHistory
- type LiquidationHistoryItem
- type LoanRecord
- type LoanRepaymentRecord
- type MarginAccountBalanceChangeInfo
- type MarginAccountItem
- type MarginCurrencyBalance
- type MarginCurrencyPairInfo
- type MarginFundingAccountItem
- type MarginLoanRequestParam
- type MarginLoanResponse
- type MaxTransferAndLoanAmount
- type ModifyLoanRequestParam
- type MultiChainAddressItem
- type MyOptionSettlement
- type OnOffStatus
- type OptionAccount
- type OptionContract
- type OptionOrderParam
- type OptionOrderResponse
- type OptionSettlement
- type OptionTradingHistory
- type OptionUnderlying
- type OptionsTicker
- type OptionsUnderlyingTicker
- type Order
- type OrderCreateParams
- type OrderID
- type Orderbook
- type OrderbookData
- type OrderbookItem
- type OrderbookOfLendingLoan
- type PersonalTradingFee
- type Position
- type PositionCloseHistoryResponse
- type PriceAndAmount
- type PriceTriggeredOrder
- type PriceTriggeredOrderParam
- type PutOrderData
- type RepayLoanRequestParam
- type RepaymentHistoryItem
- type SettlementHistoryItem
- type SpotAccount
- type SpotOrder
- type SpotOrdersDetail
- type SpotPersonalTradeHistory
- type SpotPriceTriggeredOrder
- type SpotTradingFeeRate
- type SubAccount
- type SubAccountCrossMarginInfo
- type SubAccountKey
- type SubAccountMarginBalance
- type SubAccountParams
- type SubAccountTransferParam
- type SubAccountTransferResponse
- type SwapCurrencies
- type Ticker
- type Trade
- type TradingHistoryItem
- type TransactionIDResponse
- type TransferCurrencyParam
- type TriggerPriceInfo
- type TriggerTimeResponse
- type UnifiedUserAccount
- type UsersAllAccountBalance
- type UsersPositionForUnderlying
- type WalletSavedAddress
- type WithdrawalRequestParam
- type WithdrawalResponse
- type WithdrawalStatus
- type WsAuthInput
- type WsBalance
- type WsCandlesticks
- type WsCrossMarginBalance
- type WsCrossMarginLoan
- type WsEventResponse
- type WsFundingBalance
- type WsFutureTicker
- type WsFuturesAndOptionsOrderbookUpdate
- type WsFuturesAutoDeleveragesNotification
- type WsFuturesAutoOrder
- type WsFuturesLiquidationNotification
- type WsFuturesOrder
- type WsFuturesOrderbookSnapshot
- type WsFuturesOrderbookTicker
- type WsFuturesOrderbookUpdateEvent
- type WsFuturesPosition
- type WsFuturesReduceRiskLimitNotification
- type WsFuturesTrades
- type WsFuturesUserTrade
- type WsInput
- type WsMarginBalance
- type WsOptionUnderlyingTicker
- type WsOptionsContract
- type WsOptionsContractCandlestick
- type WsOptionsLiquidates
- type WsOptionsMarkPrice
- type WsOptionsOrder
- type WsOptionsOrderbookSnapshot
- type WsOptionsOrderbookTicker
- type WsOptionsPosition
- type WsOptionsSettlement
- type WsOptionsTrades
- type WsOptionsUnderlyingPrice
- type WsOptionsUserSettlement
- type WsOptionsUserTrade
- type WsOrderbookSnapshot
- type WsOrderbookTickerData
- type WsOrderbookUpdate
- type WsPositionClose
- type WsResponse
- type WsSpotBalance
- type WsSpotOrder
- type WsTicker
- type WsTrade
- type WsUserPersonalTrade
Constants ¶
This section is empty.
Variables ¶
var WithdrawalFees = map[currency.Code]float64{}/* 439 elements not displayed */
WithdrawalFees the large list of predefined withdrawal fees Prone to change
Functions ¶
func GetRateLimit ¶
func GetRateLimit() request.RateLimitDefinitions
GetRateLimit returns the rate limiter for the exchange
Types ¶
type APIV4KeyPerm ¶
type APIV4KeyPerm struct { PermissionName string `json:"name,omitempty"` ReadOnly bool `json:"read_only,omitempty"` IPWhitelist []string `json:"ip_whitelist,omitempty"` }
APIV4KeyPerm represents an API Version 4 Key permission information
type AccountBalanceInformation ¶
type AccountBalanceInformation struct { Available types.Number `json:"available"` Borrowed types.Number `json:"borrowed"` Interest types.Number `json:"interest"` Currency string `json:"currency"` LockedAmount types.Number `json:"locked"` }
AccountBalanceInformation represents currency account balance information.
type AccountBook ¶
type AccountBook struct { ChangeTime types.Time `json:"time"` AccountChange types.Number `json:"change"` Balance types.Number `json:"balance"` CustomText string `json:"text"` ChangingType string `json:"type"` }
AccountBook represents account changing history item
type AccountBookItem ¶
type AccountBookItem struct { Time types.Time `json:"time"` Change types.Number `json:"change"` Balance types.Number `json:"balance"` Text string `json:"text"` Type string `json:"type"` }
AccountBookItem represents account book item
type AmendFuturesOrderParam ¶
type AmendFuturesOrderParam struct { Size types.Number `json:"size"` Price types.Number `json:"price"` }
AmendFuturesOrderParam represents amend futures order parameter
type BalanceDetails ¶
type BalanceDetails struct { Available types.Number `json:"available"` Freeze types.Number `json:"freeze"` Borrowed types.Number `json:"borrowed"` NegativeLiabilities types.Number `json:"negative_liab"` FuturesPosLiabilities types.Number `json:"futures_pos_liab"` Equity types.Number `json:"equity"` TotalFreeze types.Number `json:"total_freeze"` TotalLiabilities types.Number `json:"total_liab"` SpotInUse types.Number `json:"spot_in_use"` Funding types.Number `json:"funding"` FundingVersion types.Number `json:"funding_version"` }
BalanceDetails represents a user's balance details
type CancelOrderByIDParam ¶
type CancelOrderByIDParam struct { CurrencyPair currency.Pair `json:"currency_pair"` ID string `json:"id"` }
CancelOrderByIDParam represents cancel order by id request param.
type CancelOrderByIDResponse ¶
type CancelOrderByIDResponse struct { CurrencyPair string `json:"currency_pair"` OrderID string `json:"id"` Succeeded bool `json:"succeeded"` Label string `json:"label"` Message string `json:"message"` Account string `json:"account"` }
CancelOrderByIDResponse represents calcel order response when deleted by id.
type Candlestick ¶
type Candlestick struct { Timestamp time.Time QuoteCcyVolume float64 ClosePrice float64 HighestPrice float64 LowestPrice float64 OpenPrice float64 BaseCcyAmount float64 }
Candlestick represents candlestick data point detail.
type ClosePositionRequestParam ¶
type ClosePositionRequestParam struct { Text string `json:"text"` CurrencyPair currency.Pair `json:"currency_pair"` Amount types.Number `json:"amount"` Price types.Number `json:"price"` }
ClosePositionRequestParam represents close position when cross currency is disable.
type ContractClosePosition ¶
type ContractClosePosition struct { PositionCloseTime types.Time `json:"time"` Pnl types.Number `json:"pnl"` SettleSize string `json:"settle_size"` Side string `json:"side"` // Position side, long or short FuturesContract string `json:"contract"` CloseOrderText string `json:"text"` }
ContractClosePosition represents user's liquidation history
type ContractStat ¶
type ContractStat struct { Time types.Time `json:"time"` LongShortTaker float64 `json:"lsr_taker"` LongShortAccount float64 `json:"lsr_account"` LongLiqSize float64 `json:"long_liq_size"` ShortLiquidationSize float64 `json:"short_liq_size"` OpenInterest float64 `json:"open_interest"` ShortLiquidationUsd float64 `json:"short_liq_usd"` MarkPrice float64 `json:"mark_price"` TopLongShortSize float64 `json:"top_lsr_size"` ShortLiquidationAmount float64 `json:"short_liq_amount"` LongLiquidiationAmount float64 `json:"long_liq_amount"` OpenInterestUsd float64 `json:"open_interest_usd"` TopLongShortAccount float64 `json:"top_lsr_account"` LongLiquidationUSD float64 `json:"long_liq_usd"` }
ContractStat represents futures stats
type CountdownCancelOrderParam ¶
type CountdownCancelOrderParam struct { CurrencyPair currency.Pair `json:"currency_pair"` Timeout int64 `json:"timeout"` // timeout: Countdown time, in seconds At least 5 seconds, 0 means cancel the countdown }
CountdownCancelOrderParam represents countdown cancel order params
type CountdownParams ¶
type CountdownParams struct { Timeout int64 `json:"timeout"` // In Seconds Contract currency.Pair `json:"contract"` }
CountdownParams represents query parameters for countdown cancel order
type CreateAPIKeyResponse ¶
type CreateAPIKeyResponse struct { UserID string `json:"user_id"` APIKeyName string `json:"name"` // API key name Permissions []APIV4KeyPerm `json:"perms"` IPWhitelist []string `json:"ip_whitelist,omitempty"` APIKey string `json:"key"` Secret string `json:"secret"` State int64 `json:"state"` // State 1 - normal 2 - locked 3 - frozen CreatedAt types.Time `json:"created_at"` UpdatedAt types.Time `json:"updated_at"` }
CreateAPIKeyResponse represents an API key response object
type CreateAPIKeySubAccountParams ¶
type CreateAPIKeySubAccountParams struct { SubAccountUserID int64 `json:"user_id"` Body *SubAccountKey `json:"body"` }
CreateAPIKeySubAccountParams represents subaccount new API key creation parameters.
type CreateOrderRequestData ¶
type CreateOrderRequestData struct { Text string `json:"text,omitempty"` CurrencyPair currency.Pair `json:"currency_pair,omitempty"` Type string `json:"type,omitempty"` Account string `json:"account,omitempty"` Side string `json:"side,omitempty"` Iceberg string `json:"iceberg,omitempty"` Amount types.Number `json:"amount,omitempty"` Price types.Number `json:"price,omitempty"` TimeInForce string `json:"time_in_force,omitempty"` AutoBorrow bool `json:"auto_borrow,omitempty"` }
CreateOrderRequestData represents a single order creation param.
type CrossMarginAccount ¶
type CrossMarginAccount struct { UserID int64 `json:"user_id"` Locked bool `json:"locked"` Balances map[string]CrossMarginCurrencyBalance `json:"balances"` Total types.Number `json:"total"` Borrowed types.Number `json:"borrowed"` Interest types.Number `json:"interest"` Risk types.Number `json:"risk"` TotalInitialMargin string `json:"total_initial_margin"` TotalMarginBalance types.Number `json:"total_margin_balance"` TotalMaintenanceMargin types.Number `json:"total_maintenance_margin"` TotalInitialMarginRate types.Number `json:"total_initial_margin_rate"` TotalMaintenanceMarginRate types.Number `json:"total_maintenance_margin_rate"` TotalAvailableMargin types.Number `json:"total_available_margin"` TotalPortfolioMarginAccount types.Number `json:"portfolio_margin_total"` }
CrossMarginAccount represents the account detail for cross margin account balance
type CrossMarginAccountHistoryItem ¶
type CrossMarginAccountHistoryItem struct { ID string `json:"id"` Time types.Time `json:"time"` Currency string `json:"currency"` // Currency changed Change string `json:"change"` Balance types.Number `json:"balance"` Type string `json:"type"` }
CrossMarginAccountHistoryItem represents a cross margin account change history item
type CrossMarginBalance ¶
type CrossMarginBalance struct { Available types.Number `json:"available"` Freeze types.Number `json:"freeze"` Borrowed types.Number `json:"borrowed"` Interest types.Number `json:"interest"` Total string `json:"total"` BorrowedNet string `json:"borrowed_net"` TotalNetAssetInUSDT string `json:"net"` PositionLeverage string `json:"leverage"` Risk string `json:"risk"` // Risk rate. When it belows 110%, liquidation will be triggered. Calculation formula: total / (borrowed+interest) }
CrossMarginBalance represents cross-margin currency balance detail
type CrossMarginBorrowLoanParams ¶
type CrossMarginBorrowLoanParams struct { Currency currency.Code `json:"currency"` Amount types.Number `json:"amount"` Text string `json:"text"` }
CrossMarginBorrowLoanParams represents a cross margin borrow loan parameters
type CrossMarginCurrencies ¶
type CrossMarginCurrencies struct { Name string `json:"name"` Rate types.Number `json:"rate"` CurrencyPrecision types.Number `json:"prec"` Discount string `json:"discount"` MinBorrowAmount types.Number `json:"min_borrow_amount"` UserMaxBorrowAmount types.Number `json:"user_max_borrow_amount"` TotalMaxBorrowAmount types.Number `json:"total_max_borrow_amount"` Price types.Number `json:"price"` // Price change between this currency and USDT Status int64 `json:"status"` }
CrossMarginCurrencies represents a currency supported by cross margin
type CrossMarginCurrencyBalance ¶
type CrossMarginCurrencyBalance struct { Available types.Number `json:"available"` Freeze types.Number `json:"freeze"` Borrowed types.Number `json:"borrowed"` Interest types.Number `json:"interest"` }
CrossMarginCurrencyBalance represents the currency detailed balance information for cross margin
type CrossMarginLoanResponse ¶
type CrossMarginLoanResponse struct { ID string `json:"id"` CreateTime types.Time `json:"create_time"` UpdateTime types.Time `json:"update_time"` Currency string `json:"currency"` Amount types.Number `json:"amount"` Text string `json:"text"` Status int64 `json:"status"` Repaid string `json:"repaid"` RepaidInterest types.Number `json:"repaid_interest"` UnpaidInterest types.Number `json:"unpaid_interest"` }
CrossMarginLoanResponse represents a cross margin borrow loan response
type CurrencyAndAmount ¶
type CurrencyAndAmount struct { Currency currency.Code `json:"currency"` Amount types.Number `json:"amount"` }
CurrencyAndAmount represents request parameters for repayment
type CurrencyBalanceAmount ¶
type CurrencyBalanceAmount struct { Currency string `json:"currency"` Amount string `json:"amount"` }
CurrencyBalanceAmount represents currency and its amount.
type CurrencyChain ¶
type CurrencyChain struct { Chain string `json:"chain"` ChineseChainName string `json:"name_cn"` ChainName string `json:"name_en"` IsDisabled int64 `json:"is_disabled"` // If it is disabled. 0 means NOT being disabled IsDepositDisabled int64 `json:"is_deposit_disabled"` // Is deposit disabled. 0 means not IsWithdrawDisabled int64 `json:"is_withdraw_disabled"` // Is withdrawal disabled. 0 means not }
CurrencyChain currency chain detail.
type CurrencyDepositAddressInfo ¶
type CurrencyDepositAddressInfo struct { Currency string `json:"currency"` Address string `json:"address"` MultichainAddresses []MultiChainAddressItem `json:"multichain_addresses"` }
CurrencyDepositAddressInfo represents a crypto deposit address
type CurrencyInfo ¶
type CurrencyInfo struct { Currency string `json:"currency"` Delisted bool `json:"delisted"` WithdrawDisabled bool `json:"withdraw_disabled"` WithdrawDelayed bool `json:"withdraw_delayed"` DepositDisabled bool `json:"deposit_disabled"` TradeDisabled bool `json:"trade_disabled"` FixedFeeRate types.Number `json:"fixed_rate,omitempty"` Chain string `json:"chain"` }
CurrencyInfo represents currency details with permission.
type CurrencyPairDetail ¶
type CurrencyPairDetail struct { ID string `json:"id"` Base string `json:"base"` Quote string `json:"quote"` TradingFee types.Number `json:"fee"` MinBaseAmount types.Number `json:"min_base_amount"` MinQuoteAmount types.Number `json:"min_quote_amount"` AmountPrecision float64 `json:"amount_precision"` // Amount scale Precision float64 `json:"precision"` // Price scale TradeStatus string `json:"trade_status"` SellStart float64 `json:"sell_start"` BuyStart float64 `json:"buy_start"` }
CurrencyPairDetail represents a single currency pair detail.
type DeliveryContract ¶
type DeliveryContract struct { Name string `json:"name"` Underlying string `json:"underlying"` Cycle string `json:"cycle"` Type string `json:"type"` QuantoMultiplier types.Number `json:"quanto_multiplier"` MarkType string `json:"mark_type"` LastPrice types.Number `json:"last_price"` MarkPrice types.Number `json:"mark_price"` IndexPrice types.Number `json:"index_price"` BasisRate types.Number `json:"basis_rate"` BasisValue types.Number `json:"basis_value"` BasisImpactValue types.Number `json:"basis_impact_value"` SettlePrice types.Number `json:"settle_price"` SettlePriceInterval int64 `json:"settle_price_interval"` SettlePriceDuration int64 `json:"settle_price_duration"` SettleFeeRate types.Number `json:"settle_fee_rate"` OrderPriceRound types.Number `json:"order_price_round"` MarkPriceRound types.Number `json:"mark_price_round"` LeverageMin types.Number `json:"leverage_min"` LeverageMax types.Number `json:"leverage_max"` MaintenanceRate types.Number `json:"maintenance_rate"` RiskLimitBase types.Number `json:"risk_limit_base"` RiskLimitStep types.Number `json:"risk_limit_step"` RiskLimitMax types.Number `json:"risk_limit_max"` MakerFeeRate types.Number `json:"maker_fee_rate"` TakerFeeRate types.Number `json:"taker_fee_rate"` RefDiscountRate types.Number `json:"ref_discount_rate"` RefRebateRate types.Number `json:"ref_rebate_rate"` OrderPriceDeviate types.Number `json:"order_price_deviate"` OrderSizeMin int64 `json:"order_size_min"` OrderSizeMax int64 `json:"order_size_max"` OrdersLimit int64 `json:"orders_limit"` OrderbookID int64 `json:"orderbook_id"` TradeID int64 `json:"trade_id"` TradeSize int64 `json:"trade_size"` PositionSize int64 `json:"position_size"` ExpireTime types.Time `json:"expire_time"` ConfigChangeTime types.Time `json:"config_change_time"` InDelisting bool `json:"in_delisting"` }
DeliveryContract represents a delivery contract instance detail.
type DeliveryTradingHistory ¶
type DeliveryTradingHistory struct { ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` Contract string `json:"contract"` Size float64 `json:"size"` Price types.Number `json:"price"` }
DeliveryTradingHistory represents futures trading history
type DepositRecord ¶
type DepositRecord struct { ID string `json:"id"` Timestamp types.Time `json:"timestamp"` Currency string `json:"currency"` Address string `json:"address"` TransactionID string `json:"txid"` Amount types.Number `json:"amount"` Memo string `json:"memo"` Status string `json:"status"` Chain string `json:"chain"` Fee types.Number `json:"fee"` }
DepositRecord represents deposit record item
type DualModeResponse ¶
type DualModeResponse struct { User int64 `json:"user"` Currency string `json:"currency"` Total string `json:"total"` UnrealisedPnl types.Number `json:"unrealised_pnl"` PositionMargin types.Number `json:"position_margin"` OrderMargin string `json:"order_margin"` Available string `json:"available"` Point string `json:"point"` Bonus string `json:"bonus"` InDualMode bool `json:"in_dual_mode"` History struct { DepositAndWithdrawal types.Number `json:"dnw"` // total amount of deposit and withdraw ProfitAndLoss types.Number `json:"pnl"` // total amount of trading profit and loss Fee types.Number `json:"fee"` Refr types.Number `json:"refr"` Fund types.Number `json:"fund"` PointDnw types.Number `json:"point_dnw"` PointFee types.Number `json:"point_fee"` PointRefr types.Number `json:"point_refr"` BonusDnw types.Number `json:"bonus_dnw"` BonusOffset types.Number `json:"bonus_offset"` } `json:"history"` }
DualModeResponse represents dual mode enable or disable
type FlashSwapOrderParams ¶
type FlashSwapOrderParams struct { PreviewID string `json:"preview_id"` SellCurrency currency.Code `json:"sell_currency"` SellAmount types.Number `json:"sell_amount,omitempty"` BuyCurrency currency.Code `json:"buy_currency"` BuyAmount types.Number `json:"buy_amount,omitempty"` }
FlashSwapOrderParams represents create flash swap order request parameters.
type FlashSwapOrderResponse ¶
type FlashSwapOrderResponse struct { ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` UpdateTime types.Time `json:"update_time"` UserID int64 `json:"user_id"` SellCurrency string `json:"sell_currency"` SellAmount types.Number `json:"sell_amount"` BuyCurrency string `json:"buy_currency"` BuyAmount types.Number `json:"buy_amount"` Price types.Number `json:"price"` Status int64 `json:"status"` }
FlashSwapOrderResponse represents create flash swap order response
type FuturesAccount ¶
type FuturesAccount struct { User int64 `json:"user"` Currency string `json:"currency"` Total types.Number `json:"total"` // total = position_margin + order_margin + available UnrealisedPnl types.Number `json:"unrealised_pnl"` PositionMargin types.Number `json:"position_margin"` OrderMargin types.Number `json:"order_margin"` // Order margin of unfinished orders Available types.Number `json:"available"` // The available balance for transferring or trading Point types.Number `json:"point"` Bonus string `json:"bonus"` EnabledCredit bool `json:"enable_credit"` InDualMode bool `json:"in_dual_mode"` // Whether dual mode is enabled UpdateTime types.Time `json:"update_time"` UpdateID int64 `json:"update_id"` PositionInitialMargine types.Number `json:"position_initial_margin"` // applicable to the portfolio margin account model MaintenanceMargin types.Number `json:"maintenance_margin"` MarginMode int64 `json:"margin_mode"` // Margin mode: 1-cross margin, 2-isolated margin, 3-portfolio margin EnabledEvolvedClassic bool `json:"enable_evolved_classic"` CrossInitialMargin types.Number `json:"cross_initial_margin"` CrossUnrealisedPnl types.Number `json:"cross_unrealised_pnl"` IsolatedPositionMargin types.Number `json:"isolated_position_margin"` History struct { DepositAndWithdrawal string `json:"dnw"` // total amount of deposit and withdraw ProfitAndLoss types.Number `json:"pnl"` // total amount of trading profit and loss Fee types.Number `json:"fee"` // total amount of fee Refr types.Number `json:"refr"` // total amount of referrer rebates Fund types.Number `json:"fund"` PointDNW types.Number `json:"point_dnw"` // total amount of point deposit and withdraw PointFee types.Number `json:"point_fee"` // total amount of point fee PointRefr types.Number `json:"point_refr"` BonusDNW types.Number `json:"bonus_dnw"` // total amount of perpetual contract bonus transfer BonusOffset types.Number `json:"bonus_offset"` // total amount of perpetual contract bonus deduction CrossSettle types.Number `json:"cross_settle"` } `json:"history"` }
FuturesAccount represents futures account detail
type FuturesCandlestick ¶
type FuturesCandlestick struct { Timestamp types.Time `json:"t"` Volume float64 `json:"v"` ClosePrice types.Number `json:"c"` HighestPrice types.Number `json:"h"` LowestPrice types.Number `json:"l"` OpenPrice types.Number `json:"o"` Sum types.Number `json:"sum"` // Trading volume (unit: Quote currency) // Added for websocket push data Name string `json:"n,omitempty"` }
FuturesCandlestick represents futures candlestick data
type FuturesContract ¶
type FuturesContract struct { Name string `json:"name"` Type string `json:"type"` QuantoMultiplier types.Number `json:"quanto_multiplier"` RefDiscountRate types.Number `json:"ref_discount_rate"` OrderPriceDeviate string `json:"order_price_deviate"` MaintenanceRate types.Number `json:"maintenance_rate"` MarkType string `json:"mark_type"` LastPrice types.Number `json:"last_price"` MarkPrice types.Number `json:"mark_price"` IndexPrice types.Number `json:"index_price"` FundingRateIndicative types.Number `json:"funding_rate_indicative"` MarkPriceRound types.Number `json:"mark_price_round"` FundingOffset int64 `json:"funding_offset"` InDelisting bool `json:"in_delisting"` RiskLimitBase string `json:"risk_limit_base"` InterestRate string `json:"interest_rate"` OrderPriceRound string `json:"order_price_round"` OrderSizeMin int64 `json:"order_size_min"` RefRebateRate string `json:"ref_rebate_rate"` FundingInterval int64 `json:"funding_interval"` RiskLimitStep string `json:"risk_limit_step"` LeverageMin types.Number `json:"leverage_min"` LeverageMax types.Number `json:"leverage_max"` RiskLimitMax string `json:"risk_limit_max"` MakerFeeRate types.Number `json:"maker_fee_rate"` TakerFeeRate types.Number `json:"taker_fee_rate"` FundingRate types.Number `json:"funding_rate"` OrderSizeMax int64 `json:"order_size_max"` FundingNextApply types.Time `json:"funding_next_apply"` ConfigChangeTime types.Time `json:"config_change_time"` ShortUsers int64 `json:"short_users"` TradeSize int64 `json:"trade_size"` PositionSize int64 `json:"position_size"` LongUsers int64 `json:"long_users"` FundingImpactValue string `json:"funding_impact_value"` OrdersLimit int64 `json:"orders_limit"` TradeID int64 `json:"trade_id"` OrderbookID int64 `json:"orderbook_id"` }
FuturesContract represents futures contract detailed data.
type FuturesFundingRate ¶
FuturesFundingRate represents futures funding rate response.
type FuturesInitial ¶
type FuturesInitial struct { Contract currency.Pair `json:"contract"` Size int64 `json:"size"` // Order size. Positive size means to buy, while negative one means to sell. Set to 0 to close the position Price types.Number `json:"price"` // Order price. Set to 0 to use market price Close bool `json:"close,omitempty"` TimeInForce string `json:"tif,omitempty"` Text string `json:"text,omitempty"` ReduceOnly bool `json:"reduce_only,omitempty"` AutoSize string `json:"auto_size,omitempty"` }
FuturesInitial represents a price triggered order initial parameters
type FuturesPremiumIndexKLineResponse ¶
type FuturesPremiumIndexKLineResponse struct { UnixTimestamp types.Time `json:"t"` ClosePrice types.Number `json:"c"` HighestPrice types.Number `json:"h"` LowestPrice types.Number `json:"l"` OpenPrice types.Number `json:"o"` }
FuturesPremiumIndexKLineResponse represents premium index K-Line information.
type FuturesPriceTriggeredOrderParam ¶
type FuturesPriceTriggeredOrderParam struct { Initial FuturesInitial `json:"initial"` Trigger FuturesTrigger `json:"trigger"` OrderType string `json:"order_type,omitempty"` }
FuturesPriceTriggeredOrderParam represents a creates a price triggered order
type FuturesSubAccountBalance ¶
type FuturesSubAccountBalance struct { UserID int64 `json:"uid,string"` Available struct { Total types.Number `json:"total"` UnrealisedProfitAndLoss string `json:"unrealised_pnl"` PositionMargin string `json:"position_margin"` OrderMargin string `json:"order_margin"` TotalAvailable types.Number `json:"available"` PointAmount float64 `json:"point"` SettleCurrency string `json:"currency"` InDualMode bool `json:"in_dual_mode"` EnableCredit bool `json:"enable_credit"` PositionInitialMargin string `json:"position_initial_margin"` // applicable to the portfolio margin account model MaintenanceMarginPosition string `json:"maintenance_margin"` PerpetualContractBonus string `json:"bonus"` StatisticalData struct { TotalDNW types.Number `json:"dnw"` // total amount of deposit and withdraw ProfitAndLoss types.Number `json:"pnl"` // total amount of trading profit and loss TotalAmountOfFee types.Number `json:"fee"` ReferrerRebates types.Number `json:"refr"` // total amount of referrer rebates Fund types.Number `json:"fund"` // total amount of funding costs PointDNW types.Number `json:"point_dnw"` PoointFee types.Number `json:"point_fee"` PointRefr types.Number `json:"point_refr"` BonusDNW types.Number `json:"bonus_dnw"` BonusOffset types.Number `json:"bonus_offset"` } `json:"history"` } `json:"available"` }
FuturesSubAccountBalance represents sub account balance for specific sub account and several currencies
type FuturesTicker ¶
type FuturesTicker struct { Contract string `json:"contract"` ChangePercentage string `json:"change_percentage"` Last types.Number `json:"last"` Low24H types.Number `json:"low_24h"` High24H types.Number `json:"high_24h"` TotalSize types.Number `json:"total_size"` Volume24H types.Number `json:"volume_24h"` Volume24HBtc types.Number `json:"volume_24h_btc"` Volume24HUsd types.Number `json:"volume_24h_usd"` Volume24HBase types.Number `json:"volume_24h_base"` Volume24HQuote types.Number `json:"volume_24h_quote"` Volume24HSettle types.Number `json:"volume_24h_settle"` MarkPrice types.Number `json:"mark_price"` FundingRate types.Number `json:"funding_rate"` FundingRateIndicative string `json:"funding_rate_indicative"` IndexPrice types.Number `json:"index_price"` }
FuturesTicker represents futures ticker data.
type FuturesTrigger ¶
type FuturesTrigger struct { StrategyType int64 `json:"strategy_type,omitempty"` // How the order will be triggered 0: by price, which means the order will be triggered if price condition is satisfied 1: by price gap, which means the order will be triggered if gap of recent two prices of specified price_type are satisfied. Only 0 is supported currently PriceType int64 `json:"price_type,omitempty"` Price types.Number `json:"price,omitempty"` Rule int64 `json:"rule,omitempty"` Expiration int64 `json:"expiration,omitempty"` // how long(in seconds) to wait for the condition to be triggered before cancelling the order OrderType string `json:"order_type,omitempty"` }
FuturesTrigger represents a price triggered order trigger parameter
type Gateio ¶
type Gateio struct { Counter common.Counter // Must be first due to alignment requirements exchange.Base }
Gateio is the overarching type across this package
func (*Gateio) AmendFuturesOrder ¶
func (g *Gateio) AmendFuturesOrder(ctx context.Context, settle currency.Code, orderID string, arg AmendFuturesOrderParam) (*Order, error)
AmendFuturesOrder amends an existing futures order
func (*Gateio) AmendSpotOrder ¶
func (g *Gateio) AmendSpotOrder(ctx context.Context, orderID string, currencyPair currency.Pair, isCrossMarginAccount bool, arg *PriceAndAmount) (*SpotOrder, error)
AmendSpotOrder amend an order By default, the orders of spot and margin account are updated. If you need to modify orders of the cross-margin account, you must specify account as cross_margin. For portfolio margin account, only cross_margin account is supported.
func (*Gateio) CancelAllDeliveryPriceTriggeredOrder ¶
func (g *Gateio) CancelAllDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, contract currency.Pair) ([]PriceTriggeredOrder, error)
CancelAllDeliveryPriceTriggeredOrder cancels all delivery price triggered orders
func (*Gateio) CancelAllFuturesOpenOrders ¶
func (g *Gateio) CancelAllFuturesOpenOrders(ctx context.Context, settle currency.Code, contract currency.Pair) ([]PriceTriggeredOrder, error)
CancelAllFuturesOpenOrders cancels all futures open orders
func (*Gateio) CancelAllOpenOrdersSpecifiedCurrencyPair ¶
func (g *Gateio) CancelAllOpenOrdersSpecifiedCurrencyPair(ctx context.Context, currencyPair currency.Pair, side order.Side, account asset.Item) ([]SpotOrder, error)
CancelAllOpenOrdersSpecifiedCurrencyPair cancel all open orders in specified currency pair
func (*Gateio) CancelAllOrders ¶
func (g *Gateio) CancelAllOrders(ctx context.Context, o *order.Cancel) (order.CancelAllResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*Gateio) CancelBatchOrders ¶
func (g *Gateio) CancelBatchOrders(ctx context.Context, o []order.Cancel) (*order.CancelBatchResponse, error)
CancelBatchOrders cancels an orders by their corresponding ID numbers
func (*Gateio) CancelBatchOrdersWithIDList ¶
func (g *Gateio) CancelBatchOrdersWithIDList(ctx context.Context, args []CancelOrderByIDParam) ([]CancelOrderByIDResponse, error)
CancelBatchOrdersWithIDList cancels batch orders specifying the order ID and currency pair information Multiple currency pairs can be specified, but maximum 20 orders are allowed per request
func (*Gateio) CancelDeliveryPriceTriggeredOrder ¶
func (g *Gateio) CancelDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
CancelDeliveryPriceTriggeredOrder cancel a price-triggered order
func (*Gateio) CancelFuturesPriceTriggeredOrder ¶
func (g *Gateio) CancelFuturesPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
CancelFuturesPriceTriggeredOrder cancel a price-triggered order
func (*Gateio) CancelLendingLoan ¶
func (g *Gateio) CancelLendingLoan(ctx context.Context, ccy currency.Code, loanID string) (*MarginLoanResponse, error)
CancelLendingLoan cancels lending loans. only lent loans can be canceled.
func (*Gateio) CancelMultipleDeliveryOrders ¶
func (g *Gateio) CancelMultipleDeliveryOrders(ctx context.Context, contract currency.Pair, side string, settle currency.Code) ([]Order, error)
CancelMultipleDeliveryOrders cancel all open orders matched Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) CancelMultipleFuturesOpenOrders ¶
func (g *Gateio) CancelMultipleFuturesOpenOrders(ctx context.Context, contract currency.Pair, side string, settle currency.Code) ([]Order, error)
CancelMultipleFuturesOpenOrders ancel all open orders Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) CancelMultipleOptionOpenOrders ¶
func (g *Gateio) CancelMultipleOptionOpenOrders(ctx context.Context, contract currency.Pair, underlying, side string) ([]OptionOrderResponse, error)
CancelMultipleOptionOpenOrders cancels all open orders matched
func (*Gateio) CancelMultipleSpotOpenOrders ¶
func (g *Gateio) CancelMultipleSpotOpenOrders(ctx context.Context, currencyPair currency.Pair, account asset.Item) ([]SpotPriceTriggeredOrder, error)
CancelMultipleSpotOpenOrders deletes price triggered orders.
func (*Gateio) CancelOptionSingleOrder ¶
func (g *Gateio) CancelOptionSingleOrder(ctx context.Context, orderID string) (*OptionOrderResponse, error)
CancelOptionSingleOrder cancel a single order.
func (*Gateio) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*Gateio) CancelPriceTriggeredOrder ¶
func (g *Gateio) CancelPriceTriggeredOrder(ctx context.Context, orderID string) (*SpotPriceTriggeredOrder, error)
CancelPriceTriggeredOrder cancel a price-triggered order
func (*Gateio) CancelSingleDeliveryOrder ¶
func (g *Gateio) CancelSingleDeliveryOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
CancelSingleDeliveryOrder cancel a single order
func (*Gateio) CancelSingleFuturesOrder ¶
func (g *Gateio) CancelSingleFuturesOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
CancelSingleFuturesOrder cancel a single order
func (*Gateio) CancelSingleSpotOrder ¶
func (g *Gateio) CancelSingleSpotOrder(ctx context.Context, orderID, currencyPair string, isCrossMarginAccount bool) (*SpotOrder, error)
CancelSingleSpotOrder cancels a single order Spot and margin orders are cancelled by default. If trying to cancel cross margin orders or portfolio margin account are used, account must be set to cross_margin
func (*Gateio) CancelWithdrawalWithSpecifiedID ¶
func (g *Gateio) CancelWithdrawalWithSpecifiedID(ctx context.Context, withdrawalID string) (*WithdrawalResponse, error)
CancelWithdrawalWithSpecifiedID cancels withdrawal with specified ID.
func (*Gateio) CountdownCancelOrders ¶
func (g *Gateio) CountdownCancelOrders(ctx context.Context, settle currency.Code, arg CountdownParams) (*TriggerTimeResponse, error)
CountdownCancelOrders represents a trigger time response
func (*Gateio) CountdownCancelorders ¶
func (g *Gateio) CountdownCancelorders(ctx context.Context, arg CountdownCancelOrderParam) (*TriggerTimeResponse, error)
CountdownCancelorders Countdown cancel orders When the timeout set by the user is reached, if there is no cancel or set a new countdown, the related pending orders will be automatically cancelled. This endpoint can be called repeatedly to set a new countdown or cancel the countdown.
func (*Gateio) CreateAPIKeysOfSubAccount ¶
func (g *Gateio) CreateAPIKeysOfSubAccount(ctx context.Context, arg CreateAPIKeySubAccountParams) (*CreateAPIKeyResponse, error)
CreateAPIKeysOfSubAccount creates a sub-account for the sub-account
name: Permission name (all permissions will be removed if no value is passed) >> wallet: wallet, spot: spot/margin, futures: perpetual contract, delivery: delivery, earn: earn, options: options
func (*Gateio) CreateBatchOrders ¶
func (g *Gateio) CreateBatchOrders(ctx context.Context, args []CreateOrderRequestData) ([]SpotOrder, error)
CreateBatchOrders Create a batch of orders Batch orders requirements: custom order field text is required At most 4 currency pairs, maximum 10 orders each, are allowed in one request No mixture of spot orders and margin orders, i.e. account must be identical for all orders
func (*Gateio) CreateCrossMarginBorrowLoan ¶
func (g *Gateio) CreateCrossMarginBorrowLoan(ctx context.Context, arg CrossMarginBorrowLoanParams) (*CrossMarginLoanResponse, error)
CreateCrossMarginBorrowLoan create a cross margin borrow loan Borrow amount cannot be less than currency minimum borrow amount
func (*Gateio) CreateFlashSwapOrder ¶
func (g *Gateio) CreateFlashSwapOrder(ctx context.Context, arg FlashSwapOrderParams) (*FlashSwapOrderResponse, error)
CreateFlashSwapOrder creates a new flash swap order initiate a flash swap preview in advance because order creation requires a preview result
func (*Gateio) CreateNewSubAccount ¶
func (g *Gateio) CreateNewSubAccount(ctx context.Context, arg SubAccountParams) (*SubAccount, error)
CreateNewSubAccount creates a new sub-account
func (*Gateio) CreatePriceTriggeredFuturesOrder ¶
func (g *Gateio) CreatePriceTriggeredFuturesOrder(ctx context.Context, settle currency.Code, arg *FuturesPriceTriggeredOrderParam) (*OrderID, error)
CreatePriceTriggeredFuturesOrder create a price-triggered order
func (*Gateio) CreatePriceTriggeredOrder ¶
func (g *Gateio) CreatePriceTriggeredOrder(ctx context.Context, arg *PriceTriggeredOrderParam) (*OrderID, error)
CreatePriceTriggeredOrder create a price-triggered order
func (*Gateio) CurrencySupportedByCrossMargin ¶
func (g *Gateio) CurrencySupportedByCrossMargin(ctx context.Context) ([]CrossMarginCurrencies, error)
CurrencySupportedByCrossMargin currencies supported by cross margin.
func (*Gateio) DeliveryFuturesSubscribe ¶
func (g *Gateio) DeliveryFuturesSubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
DeliveryFuturesSubscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) DeliveryFuturesUnsubscribe ¶
func (g *Gateio) DeliveryFuturesUnsubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
DeliveryFuturesUnsubscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) EnableOrDisableDualMode ¶
func (g *Gateio) EnableOrDisableDualMode(ctx context.Context, settle currency.Code, dualMode bool) (*DualModeResponse, error)
EnableOrDisableDualMode enable or disable dual mode Before setting dual mode, make sure all positions are closed and no orders are open
func (*Gateio) ExecuteRepayment ¶
func (g *Gateio) ExecuteRepayment(ctx context.Context, arg CurrencyAndAmount) ([]CrossMarginLoanResponse, error)
ExecuteRepayment when the liquidity of the currency is insufficient and the transaction risk is high, the currency will be disabled, and funds cannot be transferred.When the available balance of cross-margin is insufficient, the balance of the spot account can be used for repayment. Please ensure that the balance of the spot account is sufficient, and system uses cross-margin account for repayment first
func (*Gateio) FetchAccountInfo ¶
func (g *Gateio) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
FetchAccountInfo retrieves balances for all enabled currencies
func (*Gateio) FetchOrderbook ¶
func (g *Gateio) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
FetchOrderbook returns orderbook base on the currency pair
func (*Gateio) FetchTicker ¶
func (g *Gateio) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
FetchTicker retrieves a list of tickers.
func (*Gateio) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*Gateio) FuturesSubscribe ¶
func (g *Gateio) FuturesSubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
FuturesSubscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) FuturesUnsubscribe ¶
func (g *Gateio) FuturesUnsubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
FuturesUnsubscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) GateIOGetPersonalTradingHistory ¶
func (g *Gateio) GateIOGetPersonalTradingHistory(ctx context.Context, currencyPair currency.Pair, orderID string, page, limit uint64, crossMarginAccount bool, from, to time.Time) ([]SpotPersonalTradeHistory, error)
GateIOGetPersonalTradingHistory retrieves personal trading history
func (*Gateio) GateioSpotOpenOrders ¶
func (g *Gateio) GateioSpotOpenOrders(ctx context.Context, page, limit uint64, isCrossMargin bool) ([]SpotOrdersDetail, error)
GateioSpotOpenOrders retrieves all open orders List open orders in all currency pairs. Note that pagination parameters affect record number in each currency pair's open order list. No pagination is applied to the number of currency pairs returned. All currency pairs with open orders will be returned. Spot and margin orders are returned by default. To list cross margin orders, account must be set to cross_margin
func (*Gateio) GenerateCurrencyDepositAddress ¶
func (g *Gateio) GenerateCurrencyDepositAddress(ctx context.Context, ccy currency.Code) (*CurrencyDepositAddressInfo, error)
GenerateCurrencyDepositAddress generate currency deposit address
func (*Gateio) GenerateDeliveryFuturesDefaultSubscriptions ¶
func (g *Gateio) GenerateDeliveryFuturesDefaultSubscriptions() (subscription.List, error)
GenerateDeliveryFuturesDefaultSubscriptions returns delivery futures default subscriptions params.
func (*Gateio) GenerateFuturesDefaultSubscriptions ¶
func (g *Gateio) GenerateFuturesDefaultSubscriptions(settlement currency.Code) (subscription.List, error)
GenerateFuturesDefaultSubscriptions returns default subscriptions information.
func (*Gateio) GenerateOptionsDefaultSubscriptions ¶
func (g *Gateio) GenerateOptionsDefaultSubscriptions() (subscription.List, error)
GenerateOptionsDefaultSubscriptions generates list of channel subscriptions for options asset type.
func (*Gateio) GenerateSignature ¶
func (g *Gateio) GenerateSignature(secret, method, path, query string, body interface{}, dtime time.Time) (string, error)
GenerateSignature returns hash for authenticated requests
func (*Gateio) GenerateWebsocketMessageID ¶
GenerateWebsocketMessageID generates a message ID for the individual connection
func (*Gateio) GetAPIKeyOfSubAccount ¶
func (g *Gateio) GetAPIKeyOfSubAccount(ctx context.Context, subAccountUserID int64, apiKey string) (*CreateAPIKeyResponse, error)
GetAPIKeyOfSubAccount retrieves the API Key of the sub-account
func (*Gateio) GetAccountChangingHistory ¶
func (g *Gateio) GetAccountChangingHistory(ctx context.Context, offset, limit uint64, from, to time.Time, changingType string) ([]AccountBook, error)
GetAccountChangingHistory retrieves list of account changing history
func (*Gateio) GetAccountFundingHistory ¶
GetAccountFundingHistory returns funding history, deposits and withdrawals
func (*Gateio) GetActiveOrders ¶
func (g *Gateio) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
GetActiveOrders retrieves any orders that are active/open
func (*Gateio) GetAllAPIKeyOfSubAccount ¶
func (g *Gateio) GetAllAPIKeyOfSubAccount(ctx context.Context, userID int64) ([]CreateAPIKeyResponse, error)
GetAllAPIKeyOfSubAccount list all API Key of the sub-account
func (*Gateio) GetAllContractOfUnderlyingWithinExpiryDate ¶
func (g *Gateio) GetAllContractOfUnderlyingWithinExpiryDate(ctx context.Context, underlying string, expTime time.Time) ([]OptionContract, error)
GetAllContractOfUnderlyingWithinExpiryDate retrieves list of contracts of the specified underlying and expiry time.
func (*Gateio) GetAllDeliveryContracts ¶
func (g *Gateio) GetAllDeliveryContracts(ctx context.Context, settle currency.Code) ([]DeliveryContract, error)
GetAllDeliveryContracts retrieves all futures contracts
func (*Gateio) GetAllDeliveryPositionsOfUser ¶
func (g *Gateio) GetAllDeliveryPositionsOfUser(ctx context.Context, settle currency.Code) (*Position, error)
GetAllDeliveryPositionsOfUser retrieves all positions of user
func (*Gateio) GetAllFlashSwapOrders ¶
func (g *Gateio) GetAllFlashSwapOrders(ctx context.Context, status int, sellCurrency, buyCurrency currency.Code, reverse bool, limit, page uint64) ([]FlashSwapOrderResponse, error)
GetAllFlashSwapOrders retrieves list of flash swap orders filtered by the params
func (*Gateio) GetAllFutureContracts ¶
func (g *Gateio) GetAllFutureContracts(ctx context.Context, settle currency.Code) ([]FuturesContract, error)
GetAllFutureContracts retrieves list all futures contracts
func (*Gateio) GetAllFuturesPositionsOfUsers ¶
func (g *Gateio) GetAllFuturesPositionsOfUsers(ctx context.Context, settle currency.Code, realPositionsOnly bool) ([]Position, error)
GetAllFuturesPositionsOfUsers list all positions of users.
func (*Gateio) GetAllOptionsUnderlyings ¶
func (g *Gateio) GetAllOptionsUnderlyings(ctx context.Context) ([]OptionUnderlying, error)
GetAllOptionsUnderlyings retrieves all option underlyings
func (*Gateio) GetAvailableTransferChains ¶
func (g *Gateio) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
GetAvailableTransferChains returns the available transfer blockchains for the specific cryptocurrency
func (*Gateio) GetCandlesticks ¶
func (g *Gateio) GetCandlesticks(ctx context.Context, currencyPair currency.Pair, limit uint64, from, to time.Time, interval kline.Interval) ([]Candlestick, error)
GetCandlesticks retrieves market candlesticks.
func (*Gateio) GetCrossMarginAccountChangeHistory ¶
func (g *Gateio) GetCrossMarginAccountChangeHistory(ctx context.Context, ccy currency.Code, from, to time.Time, page, limit uint64, accountChangeType string) ([]CrossMarginAccountHistoryItem, error)
GetCrossMarginAccountChangeHistory retrieve cross margin account change history Record time range cannot exceed 30 days
func (*Gateio) GetCrossMarginAccounts ¶
func (g *Gateio) GetCrossMarginAccounts(ctx context.Context) (*CrossMarginAccount, error)
GetCrossMarginAccounts retrieve cross margin account
func (*Gateio) GetCrossMarginBorrowHistory ¶
func (g *Gateio) GetCrossMarginBorrowHistory(ctx context.Context, status uint64, ccy currency.Code, limit, offset uint64, reverse bool) ([]CrossMarginLoanResponse, error)
GetCrossMarginBorrowHistory retrieves cross margin borrow history sorted by creation time in descending order by default. Set reverse=false to return ascending results.
func (*Gateio) GetCrossMarginRepayments ¶
func (g *Gateio) GetCrossMarginRepayments(ctx context.Context, ccy currency.Code, loanID string, limit, offset uint64, reverse bool) ([]CrossMarginLoanResponse, error)
GetCrossMarginRepayments retrieves list of cross margin repayments
func (*Gateio) GetCrossMarginSupportedCurrencyDetail ¶
func (g *Gateio) GetCrossMarginSupportedCurrencyDetail(ctx context.Context, ccy currency.Code) (*CrossMarginCurrencies, error)
GetCrossMarginSupportedCurrencyDetail retrieve detail of one single currency supported by cross margin
func (*Gateio) GetCurrencyDetail ¶
GetCurrencyDetail details of a specific currency.
func (*Gateio) GetCurrencyPairDetail ¶
func (g *Gateio) GetCurrencyPairDetail(ctx context.Context, currencyPair string) (*CurrencyPairDetail, error)
GetCurrencyPairDetail to get details of a specific order for spot/margin accounts.
func (*Gateio) GetCurrencyTradeURL ¶
func (g *Gateio) GetCurrencyTradeURL(_ context.Context, a asset.Item, cp currency.Pair) (string, error)
GetCurrencyTradeURL returns the URL to the exchange's trade page for the given asset and currency pair
func (*Gateio) GetDeliveryAccountBooks ¶
func (g *Gateio) GetDeliveryAccountBooks(ctx context.Context, settle currency.Code, limit uint64, from, to time.Time, changingType string) ([]AccountBookItem, error)
GetDeliveryAccountBooks retrieves account books
func (*Gateio) GetDeliveryAllAutoOrder ¶
func (g *Gateio) GetDeliveryAllAutoOrder(ctx context.Context, status string, settle currency.Code, contract currency.Pair, limit, offset uint64) ([]PriceTriggeredOrder, error)
GetDeliveryAllAutoOrder retrieves all auto orders
func (*Gateio) GetDeliveryFutureTickers ¶
func (g *Gateio) GetDeliveryFutureTickers(ctx context.Context, settle currency.Code, contract currency.Pair) ([]FuturesTicker, error)
GetDeliveryFutureTickers retrieves futures ticker information for a specific settle and contract info.
func (*Gateio) GetDeliveryFuturesAccounts ¶
func (g *Gateio) GetDeliveryFuturesAccounts(ctx context.Context, settle currency.Code) (*FuturesAccount, error)
GetDeliveryFuturesAccounts retrieves futures account
func (*Gateio) GetDeliveryFuturesCandlesticks ¶
func (g *Gateio) GetDeliveryFuturesCandlesticks(ctx context.Context, settle currency.Code, contract currency.Pair, from, to time.Time, limit uint64, interval kline.Interval) ([]FuturesCandlestick, error)
GetDeliveryFuturesCandlesticks retrieves specified contract candlesticks
func (*Gateio) GetDeliveryInsuranceBalanceHistory ¶
func (g *Gateio) GetDeliveryInsuranceBalanceHistory(ctx context.Context, settle currency.Code, limit uint64) ([]InsuranceBalance, error)
GetDeliveryInsuranceBalanceHistory retrieves delivery futures insurance balance history
func (*Gateio) GetDeliveryLiquidationHistory ¶
func (g *Gateio) GetDeliveryLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit uint64, at time.Time) ([]LiquidationHistoryItem, error)
GetDeliveryLiquidationHistory lists liquidation history
func (*Gateio) GetDeliveryOrderbook ¶
func (g *Gateio) GetDeliveryOrderbook(ctx context.Context, settle currency.Code, interval string, contract currency.Pair, limit uint64, withOrderbookID bool) (*Orderbook, error)
GetDeliveryOrderbook delivery orderbook
func (*Gateio) GetDeliveryOrders ¶
func (g *Gateio) GetDeliveryOrders(ctx context.Context, contract currency.Pair, status string, settle currency.Code, lastID string, limit, offset uint64, countTotal int64) ([]Order, error)
GetDeliveryOrders list futures orders Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) GetDeliveryPersonalTradingHistory ¶
func (g *Gateio) GetDeliveryPersonalTradingHistory(ctx context.Context, settle currency.Code, orderID string, contract currency.Pair, limit, offset, countTotal uint64, lastID string) ([]TradingHistoryItem, error)
GetDeliveryPersonalTradingHistory retrieves personal trading history
func (*Gateio) GetDeliveryPositionCloseHistory ¶
func (g *Gateio) GetDeliveryPositionCloseHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit, offset uint64, from, to time.Time) ([]PositionCloseHistoryResponse, error)
GetDeliveryPositionCloseHistory retrieves position history
func (*Gateio) GetDeliveryPriceTriggeredOrder ¶
func (g *Gateio) GetDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, arg *FuturesPriceTriggeredOrderParam) (*OrderID, error)
GetDeliveryPriceTriggeredOrder creates a price-triggered order
func (*Gateio) GetDeliverySettlementHistory ¶
func (g *Gateio) GetDeliverySettlementHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit uint64, at time.Time) ([]SettlementHistoryItem, error)
GetDeliverySettlementHistory retrieves settlement history
func (*Gateio) GetDeliveryTradingHistory ¶
func (g *Gateio) GetDeliveryTradingHistory(ctx context.Context, settle currency.Code, lastID string, contract currency.Pair, limit uint64, from, to time.Time) ([]DeliveryTradingHistory, error)
GetDeliveryTradingHistory retrieves futures trading history
func (*Gateio) GetDepositAddress ¶
func (g *Gateio) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
GetDepositAddress returns a deposit address for a specified currency
func (*Gateio) GetDepositRecords ¶
func (g *Gateio) GetDepositRecords(ctx context.Context, ccy currency.Code, from, to time.Time, offset, limit uint64) ([]DepositRecord, error)
GetDepositRecords retrieves deposit records. Record time range cannot exceed 30 days
func (*Gateio) GetExpirationTime ¶
GetExpirationTime return the expiration time for the provided underlying.
func (*Gateio) GetFee ¶
func (g *Gateio) GetFee(ctx context.Context, feeBuilder *exchange.FeeBuilder) (fee float64, err error)
GetFee returns an estimate of fee based on type of transaction
func (*Gateio) GetFeeByType ¶
func (g *Gateio) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
GetFeeByType returns an estimate of fee based on type of transaction
func (*Gateio) GetFutureFundingRates ¶
func (g *Gateio) GetFutureFundingRates(ctx context.Context, settle currency.Code, contract currency.Pair, limit uint64) ([]FuturesFundingRate, error)
GetFutureFundingRates retrieves funding rate information.
func (*Gateio) GetFutureStats ¶
func (g *Gateio) GetFutureStats(ctx context.Context, settle currency.Code, contract currency.Pair, from time.Time, interval kline.Interval, limit uint64) ([]ContractStat, error)
GetFutureStats retrieves futures stats
func (*Gateio) GetFuturesAccountBooks ¶
func (g *Gateio) GetFuturesAccountBooks(ctx context.Context, settle currency.Code, limit uint64, from, to time.Time, changingType string) ([]AccountBookItem, error)
GetFuturesAccountBooks retrieves account books
func (*Gateio) GetFuturesCandlesticks ¶
func (g *Gateio) GetFuturesCandlesticks(ctx context.Context, settle currency.Code, contract string, from, to time.Time, limit uint64, interval kline.Interval) ([]FuturesCandlestick, error)
GetFuturesCandlesticks retrieves specified contract candlesticks.
func (*Gateio) GetFuturesContractDetails ¶
func (g *Gateio) GetFuturesContractDetails(ctx context.Context, item asset.Item) ([]futures.Contract, error)
GetFuturesContractDetails returns details about futures contracts
func (*Gateio) GetFuturesInsuranceBalanceHistory ¶
func (g *Gateio) GetFuturesInsuranceBalanceHistory(ctx context.Context, settle currency.Code, limit uint64) ([]InsuranceBalance, error)
GetFuturesInsuranceBalanceHistory retrieves futures insurance balance history
func (*Gateio) GetFuturesLiquidationHistory ¶
func (g *Gateio) GetFuturesLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit uint64, at time.Time) ([]LiquidationHistoryItem, error)
GetFuturesLiquidationHistory list liquidation history
func (*Gateio) GetFuturesOrderbook ¶
func (g *Gateio) GetFuturesOrderbook(ctx context.Context, settle currency.Code, contract, interval string, limit uint64, withOrderbookID bool) (*Orderbook, error)
GetFuturesOrderbook retrieves futures order book data
func (*Gateio) GetFuturesOrders ¶
func (g *Gateio) GetFuturesOrders(ctx context.Context, contract currency.Pair, status, lastID string, settle currency.Code, limit, offset uint64, countTotal int64) ([]Order, error)
GetFuturesOrders retrieves list of futures orders Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) GetFuturesPositionCloseHistory ¶
func (g *Gateio) GetFuturesPositionCloseHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit, offset uint64, from, to time.Time) ([]PositionCloseHistoryResponse, error)
GetFuturesPositionCloseHistory lists position close history
func (*Gateio) GetFuturesTickers ¶
func (g *Gateio) GetFuturesTickers(ctx context.Context, settle currency.Code, contract currency.Pair) ([]FuturesTicker, error)
GetFuturesTickers retrieves futures ticker information for a specific settle and contract info.
func (*Gateio) GetFuturesTradingHistory ¶
func (g *Gateio) GetFuturesTradingHistory(ctx context.Context, settle currency.Code, contract currency.Pair, limit, offset uint64, lastID string, from, to time.Time) ([]TradingHistoryItem, error)
GetFuturesTradingHistory retrieves futures trading history
func (*Gateio) GetHistoricCandles ¶
func (g *Gateio) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, start, end time.Time) (*kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*Gateio) GetHistoricCandlesExtended ¶
func (g *Gateio) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, interval kline.Interval, start, end time.Time) (*kline.Item, error)
GetHistoricCandlesExtended returns candles between a time period for a set time interval
func (*Gateio) GetHistoricTrades ¶
func (g *Gateio) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
GetHistoricTrades returns historic trade data within the timeframe provided
func (*Gateio) GetHistoricalFundingRates ¶
func (g *Gateio) GetHistoricalFundingRates(ctx context.Context, r *fundingrate.HistoricalRatesRequest) (*fundingrate.HistoricalRates, error)
GetHistoricalFundingRates returns historical funding rates for a futures contract
func (*Gateio) GetIndexConstituent ¶
func (g *Gateio) GetIndexConstituent(ctx context.Context, settle currency.Code, index string) (*IndexConstituent, error)
GetIndexConstituent retrieves index constituents
func (*Gateio) GetIntervalFromString ¶
GetIntervalFromString returns a kline.Interval representation of the interval string
func (*Gateio) GetIntervalString ¶
GetIntervalString returns a string representation of the interval according to the Gateio exchange representation.
func (*Gateio) GetLatestFundingRates ¶
func (g *Gateio) GetLatestFundingRates(ctx context.Context, r *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, error)
GetLatestFundingRates returns the latest funding rates data
func (*Gateio) GetLiquidationHistory ¶
func (g *Gateio) GetLiquidationHistory(ctx context.Context, settle currency.Code, contract currency.Pair, from, to time.Time, limit uint64) ([]LiquidationHistory, error)
GetLiquidationHistory retrieves liqudiation history
func (*Gateio) GetMarginAccountList ¶
func (g *Gateio) GetMarginAccountList(ctx context.Context, currencyPair currency.Pair) ([]MarginAccountItem, error)
GetMarginAccountList margin account list
func (*Gateio) GetMarginAllLoans ¶
func (g *Gateio) GetMarginAllLoans(ctx context.Context, status, side, sortBy string, ccy currency.Code, currencyPair currency.Pair, reverseSort bool, page, limit uint64) ([]MarginLoanResponse, error)
GetMarginAllLoans retrieves all loans (borrow and lending) orders.
func (*Gateio) GetMarginFundingAccountList ¶
func (g *Gateio) GetMarginFundingAccountList(ctx context.Context, ccy currency.Code) ([]MarginFundingAccountItem, error)
GetMarginFundingAccountList retrieves funding account list
func (*Gateio) GetMarginSupportedCurrencyPairs ¶
func (g *Gateio) GetMarginSupportedCurrencyPairs(ctx context.Context) ([]MarginCurrencyPairInfo, error)
GetMarginSupportedCurrencyPairs retrieves margin supported currency pairs.
func (*Gateio) GetMarketTrades ¶
func (g *Gateio) GetMarketTrades(ctx context.Context, pairString currency.Pair, limit uint64, lastID string, reverse bool, from, to time.Time, page uint64) ([]Trade, error)
GetMarketTrades retrieve market trades
func (*Gateio) GetMaxBorrowableAmountForSpecificCrossMarginCurrency ¶
func (g *Gateio) GetMaxBorrowableAmountForSpecificCrossMarginCurrency(ctx context.Context, ccy currency.Code) (*CurrencyAndAmount, error)
GetMaxBorrowableAmountForSpecificCrossMarginCurrency returns the max borrowable amount for a specific cross margin currency
func (*Gateio) GetMaxBorrowableAmountForSpecificMarginCurrency ¶
func (g *Gateio) GetMaxBorrowableAmountForSpecificMarginCurrency(ctx context.Context, ccy currency.Code, currencyPair currency.Pair) (*MaxTransferAndLoanAmount, error)
GetMaxBorrowableAmountForSpecificMarginCurrency retrieves the max borrowble amount for specific currency
func (*Gateio) GetMaxTransferableAmountForSpecificCrossMarginCurrency ¶
func (g *Gateio) GetMaxTransferableAmountForSpecificCrossMarginCurrency(ctx context.Context, ccy currency.Code) (*CurrencyAndAmount, error)
GetMaxTransferableAmountForSpecificCrossMarginCurrency get the max transferable amount for a specific cross margin currency
func (*Gateio) GetMaxTransferableAmountForSpecificMarginCurrency ¶
func (g *Gateio) GetMaxTransferableAmountForSpecificMarginCurrency(ctx context.Context, ccy currency.Code, currencyPair currency.Pair) (*MaxTransferAndLoanAmount, error)
GetMaxTransferableAmountForSpecificMarginCurrency get the max transferable amount for a specific margin currency.
func (*Gateio) GetMyOptionsSettlements ¶
func (g *Gateio) GetMyOptionsSettlements(ctx context.Context, underlying string, contract currency.Pair, offset, limit uint64, to time.Time) ([]MyOptionSettlement, error)
GetMyOptionsSettlements retrieves accounts option settlements.
func (*Gateio) GetMyPersonalTradingHistory ¶
func (g *Gateio) GetMyPersonalTradingHistory(ctx context.Context, settle currency.Code, lastID, orderID string, contract currency.Pair, limit, offset, countTotal uint64) ([]TradingHistoryItem, error)
GetMyPersonalTradingHistory retrieves my personal trading history
func (*Gateio) GetOneSingleLoanRecord ¶
func (g *Gateio) GetOneSingleLoanRecord(ctx context.Context, loanID, loanRecordID string) (*LoanRecord, error)
GetOneSingleLoanRecord get one single loan record
func (*Gateio) GetOpenInterest ¶
func (g *Gateio) GetOpenInterest(ctx context.Context, k ...key.PairAsset) ([]futures.OpenInterest, error)
GetOpenInterest returns the open interest rate for a given asset pair
func (*Gateio) GetOptionAccounts ¶
func (g *Gateio) GetOptionAccounts(ctx context.Context) (*OptionAccount, error)
GetOptionAccounts lists option accounts
func (*Gateio) GetOptionFuturesCandlesticks ¶
func (g *Gateio) GetOptionFuturesCandlesticks(ctx context.Context, contract currency.Pair, limit uint64, from, to time.Time, interval kline.Interval) ([]FuturesCandlestick, error)
GetOptionFuturesCandlesticks retrieves option futures candlesticks
func (*Gateio) GetOptionFuturesMarkPriceCandlesticks ¶
func (g *Gateio) GetOptionFuturesMarkPriceCandlesticks(ctx context.Context, underlying string, limit uint64, from, to time.Time, interval kline.Interval) ([]FuturesCandlestick, error)
GetOptionFuturesMarkPriceCandlesticks retrieves mark price candlesticks of an underlying
func (*Gateio) GetOptionFuturesOrders ¶
func (g *Gateio) GetOptionFuturesOrders(ctx context.Context, contract currency.Pair, underlying, status string, offset, limit uint64, from, to time.Time) ([]OptionOrderResponse, error)
GetOptionFuturesOrders retrieves futures orders
func (*Gateio) GetOptionUnderlyingTickers ¶
func (g *Gateio) GetOptionUnderlyingTickers(ctx context.Context, underlying string) (*OptionsUnderlyingTicker, error)
GetOptionUnderlyingTickers retrieves options underlying ticker
func (*Gateio) GetOptionsOrderbook ¶
func (g *Gateio) GetOptionsOrderbook(ctx context.Context, contract currency.Pair, interval string, limit uint64, withOrderbookID bool) (*Orderbook, error)
GetOptionsOrderbook returns the orderbook data for the given contract.
func (*Gateio) GetOptionsPersonalTradingHistory ¶
func (g *Gateio) GetOptionsPersonalTradingHistory(ctx context.Context, underlying string, contract currency.Pair, offset, limit uint64, from, to time.Time) ([]OptionTradingHistory, error)
GetOptionsPersonalTradingHistory retrieves personal tradign histories given the underlying{Required}, contract, and other pagination params.
func (*Gateio) GetOptionsSpecifiedContractDetail ¶
func (g *Gateio) GetOptionsSpecifiedContractDetail(ctx context.Context, contract currency.Pair) (*OptionContract, error)
GetOptionsSpecifiedContractDetail query specified contract detail
func (*Gateio) GetOptionsSpecifiedContractsSettlement ¶
func (g *Gateio) GetOptionsSpecifiedContractsSettlement(ctx context.Context, contract currency.Pair, underlying string, at int64) (*OptionSettlement, error)
GetOptionsSpecifiedContractsSettlement retrieve a single contract settlement detail passing the underlying and contract name
func (*Gateio) GetOptionsTickers ¶
GetOptionsTickers lists tickers of options contracts
func (*Gateio) GetOptionsTradeHistory ¶
func (g *Gateio) GetOptionsTradeHistory(ctx context.Context, contract currency.Pair, callType string, offset, limit uint64, from, to time.Time) ([]TradingHistoryItem, error)
GetOptionsTradeHistory retrieves options trade history
func (*Gateio) GetOrderHistory ¶
func (g *Gateio) GetOrderHistory(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*Gateio) GetOrderInfo ¶
func (g *Gateio) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, a asset.Item) (*order.Detail, error)
GetOrderInfo returns order information based on order ID
func (*Gateio) GetOrderbook ¶
func (g *Gateio) GetOrderbook(ctx context.Context, pairString, interval string, limit uint64, withOrderbookID bool) (*Orderbook, error)
GetOrderbook returns the orderbook data for a suppled currency pair
func (*Gateio) GetOrderbookOfLendingLoans ¶
func (g *Gateio) GetOrderbookOfLendingLoans(ctx context.Context, ccy currency.Code) ([]OrderbookOfLendingLoan, error)
GetOrderbookOfLendingLoans retrieves order book of lending loans for specific currency
func (*Gateio) GetPersonalTradingFee ¶
func (g *Gateio) GetPersonalTradingFee(ctx context.Context, currencyPair currency.Pair, settle currency.Code) (*PersonalTradingFee, error)
GetPersonalTradingFee retrieves personal trading fee
func (*Gateio) GetPriceTriggeredOrderList ¶
func (g *Gateio) GetPriceTriggeredOrderList(ctx context.Context, status string, market currency.Pair, account asset.Item, offset, limit uint64) ([]SpotPriceTriggeredOrder, error)
GetPriceTriggeredOrderList retrieves price orders created with an order detail and trigger price information.
func (*Gateio) GetRecentTrades ¶
func (g *Gateio) GetRecentTrades(ctx context.Context, p currency.Pair, a asset.Item) ([]trade.Data, error)
GetRecentTrades returns the most recent trades for a currency and asset
func (*Gateio) GetSavedAddresses ¶
func (g *Gateio) GetSavedAddresses(ctx context.Context, ccy currency.Code, chain string, limit uint64) ([]WalletSavedAddress, error)
GetSavedAddresses retrieves saved currency address info and related details.
func (*Gateio) GetServerTime ¶
GetServerTime retrieves current server time
func (*Gateio) GetSettlementHistory ¶
func (g *Gateio) GetSettlementHistory(ctx context.Context, underlying string, offset, limit uint64, from, to time.Time) ([]OptionSettlement, error)
GetSettlementHistory retrieves list of settlement history
func (*Gateio) GetSingleBorrowLoanDetail ¶
func (g *Gateio) GetSingleBorrowLoanDetail(ctx context.Context, loanID string) (*CrossMarginLoanResponse, error)
GetSingleBorrowLoanDetail retrieve single borrow loan detail
func (*Gateio) GetSingleContract ¶
func (g *Gateio) GetSingleContract(ctx context.Context, settle currency.Code, contract string) (*FuturesContract, error)
GetSingleContract returns a single contract info for the specified settle and Currency Pair (contract << in this case)
func (*Gateio) GetSingleDeliveryContracts ¶
func (g *Gateio) GetSingleDeliveryContracts(ctx context.Context, settle currency.Code, contract currency.Pair) (*DeliveryContract, error)
GetSingleDeliveryContracts retrieves a single delivery contract instance.
func (*Gateio) GetSingleDeliveryOrder ¶
func (g *Gateio) GetSingleDeliveryOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
GetSingleDeliveryOrder Get a single order Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) GetSingleDeliveryPosition ¶
func (g *Gateio) GetSingleDeliveryPosition(ctx context.Context, settle currency.Code, contract currency.Pair) (*Position, error)
GetSingleDeliveryPosition get single position
func (*Gateio) GetSingleDeliveryPriceTriggeredOrder ¶
func (g *Gateio) GetSingleDeliveryPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
GetSingleDeliveryPriceTriggeredOrder retrieves a single price triggered order
func (*Gateio) GetSingleFlashSwapOrder ¶
func (g *Gateio) GetSingleFlashSwapOrder(ctx context.Context, orderID string) (*FlashSwapOrderResponse, error)
GetSingleFlashSwapOrder get a single flash swap order's detail
func (*Gateio) GetSingleFuturesOrder ¶
func (g *Gateio) GetSingleFuturesOrder(ctx context.Context, settle currency.Code, orderID string) (*Order, error)
GetSingleFuturesOrder retrieves a single order by its identifier
func (*Gateio) GetSingleFuturesPriceTriggeredOrder ¶
func (g *Gateio) GetSingleFuturesPriceTriggeredOrder(ctx context.Context, settle currency.Code, orderID string) (*PriceTriggeredOrder, error)
GetSingleFuturesPriceTriggeredOrder retrieves a single price triggered order
func (*Gateio) GetSingleMarginSupportedCurrencyPair ¶
func (g *Gateio) GetSingleMarginSupportedCurrencyPair(ctx context.Context, market currency.Pair) (*MarginCurrencyPairInfo, error)
GetSingleMarginSupportedCurrencyPair retrieves margin supported currency pair detail given the currency pair.
func (*Gateio) GetSingleOptionOrder ¶
func (g *Gateio) GetSingleOptionOrder(ctx context.Context, orderID string) (*OptionOrderResponse, error)
GetSingleOptionOrder retrieves a single option order
func (*Gateio) GetSinglePosition ¶
func (g *Gateio) GetSinglePosition(ctx context.Context, settle currency.Code, contract currency.Pair) (*Position, error)
GetSinglePosition returns a single position
func (*Gateio) GetSinglePriceTriggeredOrder ¶
func (g *Gateio) GetSinglePriceTriggeredOrder(ctx context.Context, orderID string) (*SpotPriceTriggeredOrder, error)
GetSinglePriceTriggeredOrder get a single order
func (*Gateio) GetSingleSubAccount ¶
GetSingleSubAccount retrieves a single sub-account for given account
func (*Gateio) GetSpecifiedContractPosition ¶
func (g *Gateio) GetSpecifiedContractPosition(ctx context.Context, contract currency.Pair) (*UsersPositionForUnderlying, error)
GetSpecifiedContractPosition retrieves specified contract position
func (*Gateio) GetSpotAccounts ¶
GetSpotAccounts retrieves spot account.
func (*Gateio) GetSpotOrder ¶
func (g *Gateio) GetSpotOrder(ctx context.Context, orderID string, currencyPair currency.Pair, account asset.Item) (*SpotOrder, error)
GetSpotOrder retrieves a single spot order using the order id and currency pair information.
func (*Gateio) GetSpotOrders ¶
func (g *Gateio) GetSpotOrders(ctx context.Context, currencyPair currency.Pair, status string, page, limit uint64) ([]SpotOrder, error)
GetSpotOrders retrieves spot orders.
func (*Gateio) GetSubAccountBalances ¶
func (g *Gateio) GetSubAccountBalances(ctx context.Context, subAccountUserID string) ([]FuturesSubAccountBalance, error)
GetSubAccountBalances retrieve sub account balances
func (*Gateio) GetSubAccountCrossMarginBalances ¶
func (g *Gateio) GetSubAccountCrossMarginBalances(ctx context.Context, subAccountUserID string) ([]SubAccountCrossMarginInfo, error)
GetSubAccountCrossMarginBalances query subaccount's cross_margin account info
func (*Gateio) GetSubAccountFuturesBalances ¶
func (g *Gateio) GetSubAccountFuturesBalances(ctx context.Context, subAccountUserID string, settle currency.Code) ([]FuturesSubAccountBalance, error)
GetSubAccountFuturesBalances retrieves sub accounts' futures account balances
func (*Gateio) GetSubAccountMarginBalances ¶
func (g *Gateio) GetSubAccountMarginBalances(ctx context.Context, subAccountUserID string) ([]SubAccountMarginBalance, error)
GetSubAccountMarginBalances query sub accounts' margin balances
func (*Gateio) GetSubAccountTransferHistory ¶
func (g *Gateio) GetSubAccountTransferHistory(ctx context.Context, subAccountUserID string, from, to time.Time, offset, limit uint64) ([]SubAccountTransferResponse, error)
GetSubAccountTransferHistory retrieve transfer records between main and sub accounts. retrieve transfer records between main and sub accounts. Record time range cannot exceed 30 days Note: only records after 2020-04-10 can be retrieved
func (*Gateio) GetSubAccounts ¶
func (g *Gateio) GetSubAccounts(ctx context.Context) ([]SubAccount, error)
GetSubAccounts retrieves list of sub-accounts for given account
func (*Gateio) GetSubscriptionTemplate ¶
func (g *Gateio) GetSubscriptionTemplate(_ *subscription.Subscription) (*template.Template, error)
GetSubscriptionTemplate returns a subscription channel template
func (*Gateio) GetSupportedFlashSwapCurrencies ¶
func (g *Gateio) GetSupportedFlashSwapCurrencies(ctx context.Context) ([]SwapCurrencies, error)
GetSupportedFlashSwapCurrencies retrieves all supported currencies in flash swap
func (*Gateio) GetTickers ¶
GetTickers retrieve ticker information Return only related data if currency_pair is specified; otherwise return all of them
func (*Gateio) GetTradingFeeRatio ¶
func (g *Gateio) GetTradingFeeRatio(ctx context.Context, currencyPair currency.Pair) (*SpotTradingFeeRate, error)
GetTradingFeeRatio retrieves user trading fee rates
func (*Gateio) GetUnderlyingFromCurrencyPair ¶
GetUnderlyingFromCurrencyPair returns an underlying string from a currency pair
func (*Gateio) GetUnifiedAccount ¶
func (g *Gateio) GetUnifiedAccount(ctx context.Context, ccy currency.Code) (*UnifiedUserAccount, error)
GetUnifiedAccount retrieves unified account.
func (*Gateio) GetUserAutoRepaymentSetting ¶
func (g *Gateio) GetUserAutoRepaymentSetting(ctx context.Context) (*OnOffStatus, error)
GetUserAutoRepaymentSetting retrieve user auto repayment setting
func (*Gateio) GetUsersLiquidationHistoryForSpecifiedUnderlying ¶
func (g *Gateio) GetUsersLiquidationHistoryForSpecifiedUnderlying(ctx context.Context, underlying string, contract currency.Pair) ([]ContractClosePosition, error)
GetUsersLiquidationHistoryForSpecifiedUnderlying retrieves user's liquidation history of specified underlying
func (*Gateio) GetUsersPositionSpecifiedUnderlying ¶
func (g *Gateio) GetUsersPositionSpecifiedUnderlying(ctx context.Context, underlying string) ([]UsersPositionForUnderlying, error)
GetUsersPositionSpecifiedUnderlying lists user's positions of specified underlying
func (*Gateio) GetUsersTotalBalance ¶
func (g *Gateio) GetUsersTotalBalance(ctx context.Context, ccy currency.Code) (*UsersAllAccountBalance, error)
GetUsersTotalBalance retrieves user's total balances
func (*Gateio) GetWithdrawalRecords ¶
func (g *Gateio) GetWithdrawalRecords(ctx context.Context, ccy currency.Code, from, to time.Time, offset, limit uint64) ([]WithdrawalResponse, error)
GetWithdrawalRecords retrieves withdrawal records. Record time range cannot exceed 30 days
func (*Gateio) GetWithdrawalStatus ¶
func (g *Gateio) GetWithdrawalStatus(ctx context.Context, ccy currency.Code) ([]WithdrawalStatus, error)
GetWithdrawalStatus retrieves withdrawal status
func (*Gateio) GetWithdrawalsHistory ¶
func (g *Gateio) GetWithdrawalsHistory(ctx context.Context, c currency.Code, _ asset.Item) ([]exchange.WithdrawalHistory, error)
GetWithdrawalsHistory returns previous withdrawals data
func (*Gateio) InitiateFlashSwapOrderReview ¶
func (g *Gateio) InitiateFlashSwapOrderReview(ctx context.Context, arg FlashSwapOrderParams) (*InitFlashSwapOrderPreviewResponse, error)
InitiateFlashSwapOrderReview initiate a flash swap order preview
func (*Gateio) IsPerpetualFutureCurrency ¶
IsPerpetualFutureCurrency ensures a given asset and currency is a perpetual future
func (*Gateio) IsValidPairString ¶
IsValidPairString returns true if the string represents a valid currency pair
func (*Gateio) ListAllFuturesAutoOrders ¶
func (g *Gateio) ListAllFuturesAutoOrders(ctx context.Context, status string, settle currency.Code, contract currency.Pair, limit, offset uint64) ([]PriceTriggeredOrder, error)
ListAllFuturesAutoOrders lists all open orders
func (*Gateio) ListCurrencyChain ¶
ListCurrencyChain retrieves a list of currency chain name
func (*Gateio) ListLoanRepaymentRecords ¶
func (g *Gateio) ListLoanRepaymentRecords(ctx context.Context, loanID string) ([]LoanRepaymentRecord, error)
ListLoanRepaymentRecords retrieves loan repayment records for specified loan ID
func (*Gateio) ListMarginAccountBalanceChangeHistory ¶
func (g *Gateio) ListMarginAccountBalanceChangeHistory(ctx context.Context, ccy currency.Code, currencyPair currency.Pair, from, to time.Time, page, limit uint64) ([]MarginAccountBalanceChangeInfo, error)
ListMarginAccountBalanceChangeHistory retrieves margin account balance change history Only transferals from and to margin account are provided for now. Time range allows 30 days at most
func (*Gateio) ListRepaymentRecordsOfSpecificLoan ¶
func (g *Gateio) ListRepaymentRecordsOfSpecificLoan(ctx context.Context, loanID, status string, page, limit uint64) ([]LoanRecord, error)
ListRepaymentRecordsOfSpecificLoan retrieves repayment records of specific loan
func (*Gateio) ListSpotCurrencies ¶
func (g *Gateio) ListSpotCurrencies(ctx context.Context) ([]CurrencyInfo, error)
ListSpotCurrencies to retrieve detailed list of each currency.
func (*Gateio) ListSpotCurrencyPairs ¶
func (g *Gateio) ListSpotCurrencyPairs(ctx context.Context) ([]CurrencyPairDetail, error)
ListSpotCurrencyPairs retrieve all currency pairs supported by the exchange.
func (*Gateio) LockSubAccount ¶
LockSubAccount locks the sub-account
func (*Gateio) MarginLoan ¶
func (g *Gateio) MarginLoan(ctx context.Context, arg *MarginLoanRequestParam) (*MarginLoanResponse, error)
MarginLoan represents lend or borrow request
func (*Gateio) MergeMultipleLendingLoans ¶
func (g *Gateio) MergeMultipleLendingLoans(ctx context.Context, ccy currency.Code, ids []string) (*MarginLoanResponse, error)
MergeMultipleLendingLoans merge multiple lending loans
func (*Gateio) ModifyALoan ¶
func (g *Gateio) ModifyALoan(ctx context.Context, loanID string, arg *ModifyLoanRequestParam) (*MarginLoanResponse, error)
ModifyALoan Modify a loan only auto_renew modification is supported currently
func (*Gateio) ModifyALoanRecord ¶
func (g *Gateio) ModifyALoanRecord(ctx context.Context, loanRecordID string, arg *ModifyLoanRequestParam) (*LoanRecord, error)
ModifyALoanRecord modify a loan record Only auto_renew modification is supported currently
func (*Gateio) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*Gateio) OptionsSubscribe ¶
func (g *Gateio) OptionsSubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
OptionsSubscribe sends a websocket message to stop receiving data for asset type options
func (*Gateio) OptionsUnsubscribe ¶
func (g *Gateio) OptionsUnsubscribe(ctx context.Context, conn stream.Connection, channelsToUnsubscribe subscription.List) error
OptionsUnsubscribe sends a websocket message to stop receiving data for asset type options
func (*Gateio) PlaceBatchFuturesOrders ¶
func (g *Gateio) PlaceBatchFuturesOrders(ctx context.Context, settle currency.Code, args []OrderCreateParams) ([]Order, error)
PlaceBatchFuturesOrders creates a list of futures orders Up to 10 orders per request If any of the order's parameters are missing or in the wrong format, all of them will not be executed, and a http status 400 error will be returned directly If the parameters are checked and passed, all are executed. Even if there is a business logic error in the middle (such as insufficient funds), it will not affect other execution orders The returned result is in array format, and the order corresponds to the orders in the request body In the returned result, the succeeded field of type bool indicates whether the execution was successful or not If the execution is successful, the normal order content is included; if the execution fails, the label field is included to indicate the cause of the error In the rate limiting, each order is counted individually
func (*Gateio) PlaceDeliveryOrder ¶
PlaceDeliveryOrder create a futures order Zero-filled order cannot be retrieved 10 minutes after order cancellation
func (*Gateio) PlaceFuturesOrder ¶
PlaceFuturesOrder creates futures order Create a futures order Creating futures orders requires size, which is number of contracts instead of currency amount. You can use quanto_multiplier in contract detail response to know how much currency 1 size contract represents Zero-filled order cannot be retrieved 10 minutes after order cancellation. You will get a 404 not found for such orders Set reduce_only to true can keep the position from changing side when reducing position size In single position mode, to close a position, you need to set size to 0 and close to true In dual position mode, to close one side position, you need to set auto_size side, reduce_only to true and size to 0
func (*Gateio) PlaceOptionOrder ¶
func (g *Gateio) PlaceOptionOrder(ctx context.Context, arg *OptionOrderParam) (*OptionOrderResponse, error)
PlaceOptionOrder creates an options order
func (*Gateio) PlaceSpotOrder ¶
func (g *Gateio) PlaceSpotOrder(ctx context.Context, arg *CreateOrderRequestData) (*SpotOrder, error)
PlaceSpotOrder creates a spot order you can place orders with spot, margin or cross margin account through setting the accountfield. It defaults to spot, which means spot account is used to place orders.
func (*Gateio) PremiumIndexKLine ¶
func (g *Gateio) PremiumIndexKLine(ctx context.Context, settleCurrency currency.Code, contract currency.Pair, from, to time.Time, limit int64, interval kline.Interval) ([]FuturesPremiumIndexKLineResponse, error)
PremiumIndexKLine retrieves premium Index K-Line Maximum of 1000 points can be returned in a query. Be sure not to exceed the limit when specifying from, to and interval
func (*Gateio) QueryFuturesAccount ¶
func (g *Gateio) QueryFuturesAccount(ctx context.Context, settle currency.Code) (*FuturesAccount, error)
QueryFuturesAccount retrieves futures account
func (*Gateio) RepayALoan ¶
func (g *Gateio) RepayALoan(ctx context.Context, loanID string, arg *RepayLoanRequestParam) (*MarginLoanResponse, error)
RepayALoan execute a loan repay.
func (*Gateio) RetriveOneSingleLoanDetail ¶
func (g *Gateio) RetriveOneSingleLoanDetail(ctx context.Context, side, loanID string) (*MarginLoanResponse, error)
RetriveOneSingleLoanDetail retrieve one single loan detail "side" represents loan side: Lend or Borrow
func (*Gateio) RetrivePositionDetailInDualMode ¶
func (g *Gateio) RetrivePositionDetailInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair) ([]Position, error)
RetrivePositionDetailInDualMode retrieve position detail in dual mode
func (*Gateio) SendAuthenticatedHTTPRequest ¶
func (g *Gateio) SendAuthenticatedHTTPRequest(ctx context.Context, ep exchange.URL, epl request.EndpointLimit, method, endpoint string, param url.Values, data, result interface{}) error
SendAuthenticatedHTTPRequest sends authenticated requests to the Gateio API To use this you must setup an APIKey and APISecret from the exchange
func (*Gateio) SendHTTPRequest ¶
func (g *Gateio) SendHTTPRequest(ctx context.Context, ep exchange.URL, epl request.EndpointLimit, path string, result interface{}) error
SendHTTPRequest sends an unauthenticated HTTP request
func (*Gateio) SetDefaults ¶
func (g *Gateio) SetDefaults()
SetDefaults sets default values for the exchange
func (*Gateio) SpotClosePositionWhenCrossCurrencyDisabled ¶
func (g *Gateio) SpotClosePositionWhenCrossCurrencyDisabled(ctx context.Context, arg *ClosePositionRequestParam) (*SpotOrder, error)
SpotClosePositionWhenCrossCurrencyDisabled set close position when cross-currency is disabled
func (*Gateio) SubAccountTransfer ¶
func (g *Gateio) SubAccountTransfer(ctx context.Context, arg SubAccountTransferParam) error
SubAccountTransfer to transfer between main and sub accounts Support transferring with sub user's spot or futures account. Note that only main user's spot account is used no matter which sub user's account is operated.
func (*Gateio) SubAccountTransferToSubAccount ¶
func (g *Gateio) SubAccountTransferToSubAccount(ctx context.Context, arg *InterSubAccountTransferParams) error
SubAccountTransferToSubAccount performs sub-account transfers to sub-account
func (*Gateio) SubmitOrder ¶
SubmitOrder submits a new order TODO: support multiple order types (IOC)
func (*Gateio) Subscribe ¶
func (g *Gateio) Subscribe(ctx context.Context, conn stream.Connection, subs subscription.List) error
Subscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) TransferCurrency ¶
func (g *Gateio) TransferCurrency(ctx context.Context, arg *TransferCurrencyParam) (*TransactionIDResponse, error)
TransferCurrency Transfer between different accounts. Currently support transfers between the following: spot - margin, spot - futures(perpetual), spot - delivery spot - cross margin, spot - options
func (*Gateio) UnlockSubAccount ¶
UnlockSubAccount locks the sub-account
func (*Gateio) Unsubscribe ¶
func (g *Gateio) Unsubscribe(ctx context.Context, conn stream.Connection, subs subscription.List) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*Gateio) UpdateAPIKeyOfSubAccount ¶
func (g *Gateio) UpdateAPIKeyOfSubAccount(ctx context.Context, subAccountAPIKey string, arg CreateAPIKeySubAccountParams) error
UpdateAPIKeyOfSubAccount update API key of the sub-account
func (*Gateio) UpdateAccountInfo ¶
UpdateAccountInfo retrieves balances for all enabled currencies for the
func (*Gateio) UpdateDeliveryPositionLeverage ¶
func (g *Gateio) UpdateDeliveryPositionLeverage(ctx context.Context, settle currency.Code, contract currency.Pair, leverage float64) (*Position, error)
UpdateDeliveryPositionLeverage updates position leverage
func (*Gateio) UpdateDeliveryPositionMargin ¶
func (g *Gateio) UpdateDeliveryPositionMargin(ctx context.Context, settle currency.Code, change float64, contract currency.Pair) (*Position, error)
UpdateDeliveryPositionMargin updates position margin
func (*Gateio) UpdateDeliveryPositionRiskLimit ¶
func (g *Gateio) UpdateDeliveryPositionRiskLimit(ctx context.Context, settle currency.Code, contract currency.Pair, riskLimit uint64) (*Position, error)
UpdateDeliveryPositionRiskLimit update position risk limit
func (*Gateio) UpdateFuturesPositionLeverage ¶
func (g *Gateio) UpdateFuturesPositionLeverage(ctx context.Context, settle currency.Code, contract currency.Pair, leverage, crossLeverageLimit float64) (*Position, error)
UpdateFuturesPositionLeverage update position leverage
func (*Gateio) UpdateFuturesPositionMargin ¶
func (g *Gateio) UpdateFuturesPositionMargin(ctx context.Context, settle currency.Code, change float64, contract currency.Pair) (*Position, error)
UpdateFuturesPositionMargin represents account position margin for a futures contract.
func (*Gateio) UpdateFuturesPositionRiskLimit ¶
func (g *Gateio) UpdateFuturesPositionRiskLimit(ctx context.Context, settle currency.Code, contract currency.Pair, riskLimit uint64) (*Position, error)
UpdateFuturesPositionRiskLimit updates the position risk limit
func (*Gateio) UpdateOrderExecutionLimits ¶
UpdateOrderExecutionLimits sets exchange executions for a required asset type
func (*Gateio) UpdateOrderbook ¶
func (g *Gateio) UpdateOrderbook(ctx context.Context, p currency.Pair, a asset.Item) (*orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*Gateio) UpdatePositionLeverageInDualMode ¶
func (g *Gateio) UpdatePositionLeverageInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, leverage, crossLeverageLimit float64) (*Position, error)
UpdatePositionLeverageInDualMode update position leverage in dual mode
func (*Gateio) UpdatePositionMarginInDualMode ¶
func (g *Gateio) UpdatePositionMarginInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, change float64, dualSide string) ([]Position, error)
UpdatePositionMarginInDualMode update position margin in dual mode
func (*Gateio) UpdatePositionRiskLimitInDualMode ¶
func (g *Gateio) UpdatePositionRiskLimitInDualMode(ctx context.Context, settle currency.Code, contract currency.Pair, riskLimit float64) ([]Position, error)
UpdatePositionRiskLimitInDualMode update position risk limit in dual mode
func (*Gateio) UpdateTicker ¶
func (g *Gateio) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker updates and returns the ticker for a currency pair
func (*Gateio) UpdateTickers ¶
UpdateTickers updates the ticker for all currency pairs of a given asset type
func (*Gateio) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*Gateio) UpdateUsersAutoRepaymentSetting ¶
func (g *Gateio) UpdateUsersAutoRepaymentSetting(ctx context.Context, statusOn bool) (*OnOffStatus, error)
UpdateUsersAutoRepaymentSetting represents update user's auto repayment setting
func (*Gateio) ValidateAPICredentials ¶
ValidateAPICredentials validates current credentials used for wrapper functionality
func (*Gateio) WithdrawCryptocurrencyFunds ¶
func (g *Gateio) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*Gateio) WithdrawCurrency ¶
func (g *Gateio) WithdrawCurrency(ctx context.Context, arg WithdrawalRequestParam) (*WithdrawalResponse, error)
WithdrawCurrency to withdraw a currency.
func (*Gateio) WithdrawFiatFunds ¶
func (g *Gateio) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*Gateio) WithdrawFiatFundsToInternationalBank ¶
func (g *Gateio) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
func (*Gateio) WsConnectSpot ¶
WsConnectSpot initiates a websocket connection
func (*Gateio) WsDeliveryFuturesConnect ¶
WsDeliveryFuturesConnect initiates a websocket connection for delivery futures account
func (*Gateio) WsFuturesConnect ¶
WsFuturesConnect initiates a websocket connection for futures account
func (*Gateio) WsHandleFuturesData ¶
WsHandleFuturesData handles futures websocket data
func (*Gateio) WsHandleOptionsData ¶
WsHandleOptionsData handles options websocket data
func (*Gateio) WsHandleSpotData ¶
WsHandleSpotData handles spot data
func (*Gateio) WsOptionsConnect ¶
WsOptionsConnect initiates a websocket connection to options websocket endpoints.
type GeneratePayload ¶
type GeneratePayload func(ctx context.Context, conn stream.Connection, event string, channelsToSubscribe subscription.List) ([]WsInput, error)
GeneratePayload returns the payload for a websocket message
type IndexConstituent ¶
type IndexConstituent struct { Index string `json:"index"` Constituents []struct { Exchange string `json:"exchange"` Symbols []string `json:"symbols"` } `json:"constituents"` }
IndexConstituent represents index constituents
type InitFlashSwapOrderPreviewResponse ¶
type InitFlashSwapOrderPreviewResponse struct { PreviewID string `json:"preview_id"` SellCurrency string `json:"sell_currency"` SellAmount types.Number `json:"sell_amount"` BuyCurrency string `json:"buy_currency"` BuyAmount types.Number `json:"buy_amount"` Price types.Number `json:"price"` }
InitFlashSwapOrderPreviewResponse represents the order preview for flash order
type InsuranceBalance ¶
InsuranceBalance represents futures insurance balance item.
type InterSubAccountTransferParams ¶
type InterSubAccountTransferParams struct { Currency currency.Code `json:"currency"` // Required SubAccountType string `json:"sub_account_type"` SubAccountFromUserID string `json:"sub_account_from"` // Required SubAccountFromAssetType asset.Item `json:"sub_account_from_type"` // Required SubAccountToUserID string `json:"sub_account_to"` // Required SubAccountToAssetType asset.Item `json:"sub_account_to_type"` // Required Amount types.Number `json:"amount"` // Required }
InterSubAccountTransferParams represents parameters to transfer funds between sub-accounts.
type LiquidationHistory ¶
type LiquidationHistory struct { Time types.Time `json:"time"` Contract string `json:"contract"` Size int64 `json:"size"` Leverage string `json:"leverage"` Margin string `json:"margin"` EntryPrice types.Number `json:"entry_price"` LiquidationPrice types.Number `json:"liq_price"` MarkPrice types.Number `json:"mark_price"` OrderID int64 `json:"order_id"` OrderPrice types.Number `json:"order_price"` FillPrice types.Number `json:"fill_price"` Left int64 `json:"left"` }
LiquidationHistory represents liquidation history for a specifies settle.
type LiquidationHistoryItem ¶
type LiquidationHistoryItem struct { Time types.Time `json:"time"` Contract string `json:"contract"` Size int64 `json:"size"` Leverage types.Number `json:"leverage"` Margin string `json:"margin"` EntryPrice types.Number `json:"entry_price"` MarkPrice types.Number `json:"mark_price"` OrderPrice types.Number `json:"order_price"` FillPrice types.Number `json:"fill_price"` LiqPrice types.Number `json:"liq_price"` OrderID int64 `json:"order_id"` Left int64 `json:"left"` }
LiquidationHistoryItem liquidation history item
type LoanRecord ¶
type LoanRecord struct { ID string `json:"id"` LoanID string `json:"loan_id"` CreateTime types.Time `json:"create_time"` ExpireTime types.Time `json:"expire_time"` Status string `json:"status"` BorrowUserID string `json:"borrow_user_id"` Currency string `json:"currency"` Rate types.Number `json:"rate"` Amount types.Number `json:"amount"` Days int64 `json:"days"` AutoRenew bool `json:"auto_renew"` Repaid types.Number `json:"repaid"` PaidInterest types.Number `json:"paid_interest"` UnpaidInterest types.Number `json:"unpaid_interest"` }
LoanRecord represents loan repayment specific record
type LoanRepaymentRecord ¶
type LoanRepaymentRecord struct { ID string `json:"id"` CreateTime types.Time `json:"create_time"` Principal string `json:"principal"` Interest string `json:"interest"` }
LoanRepaymentRecord represents loan repayment history record item.
type MarginAccountBalanceChangeInfo ¶
type MarginAccountBalanceChangeInfo struct { ID string `json:"id"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` Currency string `json:"currency"` CurrencyPair string `json:"currency_pair"` AmountChanged string `json:"change"` Balance string `json:"balance"` }
MarginAccountBalanceChangeInfo represents margin account balance
type MarginAccountItem ¶
type MarginAccountItem struct { Locked bool `json:"locked"` CurrencyPair string `json:"currency_pair"` Risk string `json:"risk"` Base AccountBalanceInformation `json:"base"` Quote AccountBalanceInformation `json:"quote"` }
MarginAccountItem margin account item
type MarginCurrencyBalance ¶
type MarginCurrencyBalance struct { Currency string `json:"currency"` Available types.Number `json:"available"` Locked types.Number `json:"locked"` BorrowedAmount types.Number `json:"borrowed"` UnpairInterest types.Number `json:"interest"` }
MarginCurrencyBalance represents a currency balance detail information.
type MarginCurrencyPairInfo ¶
type MarginCurrencyPairInfo struct { ID string `json:"id"` Base string `json:"base"` Quote string `json:"quote"` Leverage float64 `json:"leverage"` MinBaseAmount types.Number `json:"min_base_amount"` MinQuoteAmount types.Number `json:"min_quote_amount"` MaxQuoteAmount types.Number `json:"max_quote_amount"` Status int32 `json:"status"` }
MarginCurrencyPairInfo represents margin currency pair detailed info.
type MarginFundingAccountItem ¶
type MarginFundingAccountItem struct { Currency string `json:"currency"` Available types.Number `json:"available"` LockedAmount types.Number `json:"locked"` Lent string `json:"lent"` // Outstanding loan amount yet to be repaid TotalLent string `json:"total_lent"` // Amount used for lending. total_lent = lent + locked }
MarginFundingAccountItem represents funding account list item.
type MarginLoanRequestParam ¶
type MarginLoanRequestParam struct { Side string `json:"side"` Currency currency.Code `json:"currency"` Rate types.Number `json:"rate,omitempty"` Amount types.Number `json:"amount,omitempty"` Days int64 `json:"days,omitempty"` AutoRenew bool `json:"auto_renew,omitempty"` CurrencyPair currency.Pair `json:"currency_pair,omitempty"` FeeRate types.Number `json:"fee_rate,omitempty"` OrigID string `json:"orig_id,omitempty"` Text string `json:"text,omitempty"` }
MarginLoanRequestParam represents margin lend or borrow request param
type MarginLoanResponse ¶
type MarginLoanResponse struct { ID string `json:"id"` OrigID string `json:"orig_id,omitempty"` Side string `json:"side"` Currency string `json:"currency"` Amount types.Number `json:"amount"` Rate types.Number `json:"rate"` Days int64 `json:"days,omitempty"` AutoRenew bool `json:"auto_renew,omitempty"` CurrencyPair string `json:"currency_pair,omitempty"` FeeRate types.Number `json:"fee_rate"` Text string `json:"text,omitempty"` CreateTime types.Time `json:"create_time"` ExpireTime types.Time `json:"expire_time"` Status string `json:"status"` Left types.Number `json:"left"` Repaid types.Number `json:"repaid"` PaidInterest types.Number `json:"paid_interest"` UnpaidInterest types.Number `json:"unpaid_interest"` }
MarginLoanResponse represents lending or borrow response.
type MaxTransferAndLoanAmount ¶
type MaxTransferAndLoanAmount struct { Currency string `json:"currency"` CurrencyPair string `json:"currency_pair"` Amount types.Number `json:"amount"` }
MaxTransferAndLoanAmount represents the maximum amount to transfer, borrow, or lend for specific currency and currency pair
type ModifyLoanRequestParam ¶
type ModifyLoanRequestParam struct { Currency currency.Code `json:"currency"` Side string `json:"side"` CurrencyPair currency.Pair `json:"currency_pair"` AutoRenew bool `json:"auto_renew"` LoanID string `json:"loan_id"` }
ModifyLoanRequestParam represents request parameters for modify loan request
type MultiChainAddressItem ¶
type MultiChainAddressItem struct { Chain string `json:"chain"` Address string `json:"address"` PaymentID string `json:"payment_id"` PaymentName string `json:"payment_name"` ObtainFailed int64 `json:"obtain_failed"` }
MultiChainAddressItem represents a multi-chain address item
type MyOptionSettlement ¶
type MyOptionSettlement struct { Size float64 `json:"size"` SettleProfit types.Number `json:"settle_profit"` Contract string `json:"contract"` StrikePrice types.Number `json:"strike_price"` Time types.Time `json:"time"` SettlePrice types.Number `json:"settle_price"` Underlying string `json:"underlying"` RealisedPnl string `json:"realised_pnl"` Fee types.Number `json:"fee"` }
MyOptionSettlement represents option private settlement
type OnOffStatus ¶
type OnOffStatus struct {
Status string `json:"status"`
}
OnOffStatus represents on or off status response status
type OptionAccount ¶
type OptionAccount struct { User int64 `json:"user"` Currency string `json:"currency"` ShortEnabled bool `json:"short_enabled"` Total types.Number `json:"total"` UnrealisedPnl string `json:"unrealised_pnl"` InitMargin string `json:"init_margin"` MaintMargin string `json:"maint_margin"` OrderMargin string `json:"order_margin"` Available types.Number `json:"available"` Point string `json:"point"` }
OptionAccount represents option account.
type OptionContract ¶
type OptionContract struct { Name string `json:"name"` Tag string `json:"tag"` IsCall bool `json:"is_call"` StrikePrice types.Number `json:"strike_price"` LastPrice types.Number `json:"last_price"` MarkPrice types.Number `json:"mark_price"` OrderbookID int64 `json:"orderbook_id"` TradeID int64 `json:"trade_id"` TradeSize int64 `json:"trade_size"` PositionSize int64 `json:"position_size"` Underlying string `json:"underlying"` UnderlyingPrice types.Number `json:"underlying_price"` Multiplier string `json:"multiplier"` OrderPriceRound string `json:"order_price_round"` MarkPriceRound string `json:"mark_price_round"` MakerFeeRate string `json:"maker_fee_rate"` TakerFeeRate string `json:"taker_fee_rate"` PriceLimitFeeRate string `json:"price_limit_fee_rate"` RefDiscountRate string `json:"ref_discount_rate"` RefRebateRate string `json:"ref_rebate_rate"` OrderPriceDeviate string `json:"order_price_deviate"` OrderSizeMin int64 `json:"order_size_min"` OrderSizeMax int64 `json:"order_size_max"` OrdersLimit int64 `json:"orders_limit"` CreateTime types.Time `json:"create_time"` ExpirationTime types.Time `json:"expiration_time"` }
OptionContract represents an option contract detail.
type OptionOrderParam ¶
type OptionOrderParam struct { OrderSize float64 `json:"size"` // Order size. Specify positive number to make a bid, and negative number to ask Iceberg float64 `json:"iceberg,omitempty"` // Display size for iceberg order. 0 for non-iceberg. Note that you will have to pay the taker fee for the hidden size Contract string `json:"contract"` Text string `json:"text,omitempty"` TimeInForce string `json:"tif,omitempty"` Price types.Number `json:"price,omitempty"` // Close Set as true to close the position, with size set to 0 Close bool `json:"close,omitempty"` ReduceOnly bool `json:"reduce_only,omitempty"` }
OptionOrderParam represents option order request body
type OptionOrderResponse ¶
type OptionOrderResponse struct { Status string `json:"status"` Size float64 `json:"size"` OptionOrderID int64 `json:"id"` Iceberg int64 `json:"iceberg"` IsOrderLiquidation bool `json:"is_liq"` IsOrderPositionClose bool `json:"is_close"` Contract string `json:"contract"` Text string `json:"text"` FillPrice types.Number `json:"fill_price"` FinishAs string `json:"finish_as"` // finish_as filled, cancelled, liquidated, ioc, auto_deleveraged, reduce_only, position_closed, reduce_out Left float64 `json:"left"` TimeInForce string `json:"tif"` IsReduceOnly bool `json:"is_reduce_only"` CreateTime types.Time `json:"create_time"` FinishTime types.Time `json:"finish_time"` Price types.Number `json:"price"` TakerFee types.Number `json:"tkrf"` MakerFee types.Number `json:"mkrf"` ReferenceUserID string `json:"refu"` }
OptionOrderResponse represents option order response detail
type OptionSettlement ¶
type OptionSettlement struct { Timestamp types.Time `json:"time"` Profit types.Number `json:"profit"` Fee types.Number `json:"fee"` SettlePrice types.Number `json:"settle_price"` Contract string `json:"contract"` StrikePrice types.Number `json:"strike_price"` }
OptionSettlement list settlement history
type OptionTradingHistory ¶
type OptionTradingHistory struct { ID int64 `json:"id"` UnderlyingPrice types.Number `json:"underlying_price"` Size float64 `json:"size"` Contract string `json:"contract"` TradeRole string `json:"role"` CreateTime types.Time `json:"create_time"` OrderID int64 `json:"order_id"` Price types.Number `json:"price"` }
OptionTradingHistory list personal trading history
type OptionUnderlying ¶
type OptionUnderlying struct { Name string `json:"name"` IndexPrice types.Number `json:"index_price"` IndexTime types.Time `json:"index_time"` }
OptionUnderlying represents option underlying and it's index price.
type OptionsTicker ¶
type OptionsTicker struct { Name currency.Pair `json:"name"` LastPrice types.Number `json:"last_price"` MarkPrice types.Number `json:"mark_price"` PositionSize float64 `json:"position_size"` Ask1Size float64 `json:"ask1_size"` Ask1Price types.Number `json:"ask1_price"` Bid1Size float64 `json:"bid1_size"` Bid1Price types.Number `json:"bid1_price"` Vega string `json:"vega"` Theta string `json:"theta"` Rho string `json:"rho"` Gamma string `json:"gamma"` Delta string `json:"delta"` MarkImpliedVolatility types.Number `json:"mark_iv"` BidImpliedVolatility types.Number `json:"bid_iv"` AskImpliedVolatility types.Number `json:"ask_iv"` Leverage types.Number `json:"leverage"` // Added fields for the websocket IndexPrice types.Number `json:"index_price"` }
OptionsTicker represents tickers of options contracts
type OptionsUnderlyingTicker ¶
type OptionsUnderlyingTicker struct { TradePut float64 `json:"trade_put"` TradeCall float64 `json:"trade_call"` IndexPrice types.Number `json:"index_price"` }
OptionsUnderlyingTicker represents underlying ticker
type Order ¶
type Order struct { ID int64 `json:"id"` User int64 `json:"user"` Contract string `json:"contract"` CreateTime types.Time `json:"create_time"` Size float64 `json:"size"` Iceberg int64 `json:"iceberg"` RemainingAmount float64 `json:"left"` // Size left to be traded OrderPrice types.Number `json:"price"` FillPrice types.Number `json:"fill_price"` // Fill price of the order. total filled in quote currency. MakerFee string `json:"mkfr"` TakerFee string `json:"tkfr"` TimeInForce string `json:"tif"` ReferenceUserID int64 `json:"refu"` IsReduceOnly bool `json:"is_reduce_only"` IsClose bool `json:"is_close"` IsOrderForLiquidation bool `json:"is_liq"` Text string `json:"text"` Status string `json:"status"` FinishTime types.Time `json:"finish_time"` FinishAs string `json:"finish_as"` }
Order represents future order response
type OrderCreateParams ¶
type OrderCreateParams struct { Contract currency.Pair `json:"contract"` Size float64 `json:"size"` Iceberg int64 `json:"iceberg"` Price string `json:"price"` // NOTE: Market orders require string "0" TimeInForce string `json:"tif"` Text string `json:"text,omitempty"` // Omitempty required as payload sent as `text:""` will return error message: Text content not starting with `t-`" ClosePosition bool `json:"close,omitempty"` // Size needs to be zero if true ReduceOnly bool `json:"reduce_only,omitempty"` AutoSize string `json:"auto_size,omitempty"` Settle currency.Code `json:"-"` // Used in URL. }
OrderCreateParams represents future order creation parameters
type OrderID ¶
type OrderID struct {
ID int64 `json:"id"`
}
OrderID represents order creation ID response.
type Orderbook ¶
type Orderbook struct { ID int64 `json:"id"` Current types.Time `json:"current"` // The timestamp of the response data being generated (in milliseconds) Update types.Time `json:"update"` // The timestamp of when the orderbook last changed (in milliseconds) Bids []OrderbookItem `json:"bids"` Asks []OrderbookItem `json:"asks"` }
Orderbook stores the orderbook data
type OrderbookData ¶
type OrderbookData struct { ID int64 `json:"id"` Current types.Time `json:"current"` // The timestamp of the response data being generated (in milliseconds) Update types.Time `json:"update"` // The timestamp of when the orderbook last changed (in milliseconds) Asks [][2]string `json:"asks"` Bids [][2]string `json:"bids"` }
OrderbookData holds orderbook ask and bid datas.
func (*OrderbookData) MakeOrderbook ¶
func (a *OrderbookData) MakeOrderbook() (*Orderbook, error)
MakeOrderbook parse Orderbook asks/bids Price and Amount and create an Orderbook Instance with asks and bids data in []OrderbookItem.
type OrderbookItem ¶
OrderbookItem stores an orderbook item
type OrderbookOfLendingLoan ¶
type OrderbookOfLendingLoan struct { Rate types.Number `json:"rate"` Amount types.Number `json:"amount"` Days int64 `json:"days"` }
OrderbookOfLendingLoan represents order book of lending loans
type PersonalTradingFee ¶
type PersonalTradingFee struct { UserID int64 `json:"user_id"` TakerFee types.Number `json:"taker_fee"` MakerFee types.Number `json:"maker_fee"` GtDiscount bool `json:"gt_discount"` GtTakerFee types.Number `json:"gt_taker_fee"` GtMakerFee types.Number `json:"gt_maker_fee"` LoanFee types.Number `json:"loan_fee"` PointType string `json:"point_type"` FuturesTakerFee types.Number `json:"futures_taker_fee"` FuturesMakerFee types.Number `json:"futures_maker_fee"` DeliveryTakerFee types.Number `json:"delivery_taker_fee"` DeliveryMakerFee types.Number `json:"delivery_maker_fee"` DebitFee float64 `json:"debit_fee"` }
PersonalTradingFee represents personal trading fee for specific currency pair
type Position ¶
type Position struct { User int64 `json:"user"` Contract string `json:"contract"` Size float64 `json:"size"` // Denotes long or short position, positive for long, negative for short Leverage types.Number `json:"leverage"` RiskLimit types.Number `json:"risk_limit"` LeverageMax types.Number `json:"leverage_max"` MaintenanceRate types.Number `json:"maintenance_rate"` Value types.Number `json:"value"` Margin types.Number `json:"margin"` EntryPrice types.Number `json:"entry_price"` LiquidationPrice types.Number `json:"liq_price"` MarkPrice types.Number `json:"mark_price"` InitialMargin types.Number `json:"initial_margin"` MaintenanceMargin types.Number `json:"maintenance_margin"` UnrealisedPNL types.Number `json:"unrealised_pnl"` RealisedPnl types.Number `json:"realised_pnl"` RealisedPNLPosition types.Number `json:"pnl_pnl"` RealisedPNLFundingFee types.Number `json:"pnl_fund"` RealisedPNLTransactionFees types.Number `json:"pnl_fee"` HistoryPNL types.Number `json:"history_pnl"` LastClosePNL types.Number `json:"last_close_pnl"` RealisedPNLPoint types.Number `json:"realised_point"` RealisedPNLHistoryPoint types.Number `json:"history_point"` ADLRanking int64 `json:"adl_ranking"` // Ranking of auto deleveraging, a total of 1-5 grades, 1 is the highest, 5 is the lowest, and 6 is the special case when there is no position held or in liquidation PendingOrders int64 `json:"pending_orders"` CloseOrder struct { ID int64 `json:"id"` Price types.Number `json:"price"` IsLiq bool `json:"is_liq"` } `json:"close_order"` Mode string `json:"mode"` CrossLeverageLimit types.Number `json:"cross_leverage_limit"` UpdateTime types.Time `json:"update_time"` OpenTime types.Time `json:"open_time"` UpdateID int64 `json:"update_id"` TradeMaxSize types.Number `json:"trade_max_size"` }
Position represents futures position
type PositionCloseHistoryResponse ¶
type PositionCloseHistoryResponse struct { Time types.Time `json:"time"` ProfitAndLoss types.Number `json:"pnl"` Side string `json:"side"` Contract string `json:"contract"` Text string `json:"text"` }
PositionCloseHistoryResponse represents a close position history detail
type PriceAndAmount ¶
type PriceAndAmount struct { Amount types.Number `json:"amount,omitempty"` Price types.Number `json:"price,omitempty"` }
PriceAndAmount used in updating an order
type PriceTriggeredOrder ¶
type PriceTriggeredOrder struct { Initial struct { Contract string `json:"contract"` Size float64 `json:"size"` Price types.Number `json:"price"` } `json:"initial"` Trigger struct { StrategyType int64 `json:"strategy_type"` PriceType int64 `json:"price_type"` Price types.Number `json:"price"` Rule int64 `json:"rule"` Expiration int64 `json:"expiration"` } `json:"trigger"` ID int64 `json:"id"` User int64 `json:"user"` CreateTime types.Time `json:"create_time"` FinishTime types.Time `json:"finish_time"` TradeID int64 `json:"trade_id"` Status string `json:"status"` FinishAs string `json:"finish_as"` Reason string `json:"reason"` OrderType string `json:"order_type"` }
PriceTriggeredOrder represents a future triggered price order response
type PriceTriggeredOrderParam ¶
type PriceTriggeredOrderParam struct { Trigger TriggerPriceInfo `json:"trigger"` Put PutOrderData `json:"put"` Market currency.Pair `json:"market"` }
PriceTriggeredOrderParam represents price triggered order request.
type PutOrderData ¶
type PutOrderData struct { Type string `json:"type"` Side string `json:"side"` Price types.Number `json:"price"` Amount types.Number `json:"amount"` Account string `json:"account"` TimeInForce string `json:"time_in_force,omitempty"` }
PutOrderData represents order detail for price triggered order request
type RepayLoanRequestParam ¶
type RepayLoanRequestParam struct { CurrencyPair currency.Pair `json:"currency_pair"` Currency currency.Code `json:"currency"` Mode string `json:"mode"` Amount types.Number `json:"amount"` }
RepayLoanRequestParam represents loan repay request parameters
type RepaymentHistoryItem ¶
type RepaymentHistoryItem struct { ID string `json:"id"` CreateTime types.Time `json:"create_time"` LoanID string `json:"loan_id"` Currency string `json:"currency"` Principal types.Number `json:"principal"` Interest types.Number `json:"interest"` }
RepaymentHistoryItem represents an item in a repayment history.
type SettlementHistoryItem ¶
type SettlementHistoryItem struct { Time types.Time `json:"time"` Contract string `json:"contract"` Size int64 `json:"size"` Leverage string `json:"leverage"` Margin string `json:"margin"` EntryPrice types.Number `json:"entry_price"` SettlePrice types.Number `json:"settle_price"` Profit types.Number `json:"profit"` Fee types.Number `json:"fee"` }
SettlementHistoryItem represents a settlement history item
type SpotAccount ¶
type SpotAccount struct { Currency string `json:"currency"` Available types.Number `json:"available"` Locked types.Number `json:"locked"` }
SpotAccount represents spot account
type SpotOrder ¶
type SpotOrder struct { OrderID string `json:"id,omitempty"` Text string `json:"text,omitempty"` Succeeded bool `json:"succeeded"` ErrorLabel string `json:"label,omitempty"` Message string `json:"message,omitempty"` CreateTime types.Time `json:"create_time,omitempty"` CreateTimeMs types.Time `json:"create_time_ms,omitempty"` UpdateTime types.Time `json:"update_time,omitempty"` UpdateTimeMs types.Time `json:"update_time_ms,omitempty"` CurrencyPair string `json:"currency_pair,omitempty"` Status string `json:"status,omitempty"` Type string `json:"type,omitempty"` Account string `json:"account,omitempty"` Side string `json:"side,omitempty"` Amount types.Number `json:"amount,omitempty"` Price types.Number `json:"price,omitempty"` TimeInForce string `json:"time_in_force,omitempty"` Iceberg string `json:"iceberg,omitempty"` AutoRepay bool `json:"auto_repay"` AutoBorrow bool `json:"auto_borrow"` Left types.Number `json:"left"` AverageFillPrice types.Number `json:"avg_deal_price"` FeeDeducted types.Number `json:"fee"` FeeCurrency string `json:"fee_currency"` FillPrice types.Number `json:"fill_price"` // Total filled in quote currency. Deprecated in favor of filled_total FilledTotal types.Number `json:"filled_total"` // Total filled in quote currency PointFee types.Number `json:"point_fee"` GtFee string `json:"gt_fee,omitempty"` GtDiscount bool `json:"gt_discount"` GtMakerFee types.Number `json:"gt_maker_fee"` GtTakerFee types.Number `json:"gt_taker_fee"` RebatedFee types.Number `json:"rebated_fee"` RebatedFeeCurrency string `json:"rebated_fee_currency"` }
SpotOrder represents create order response.
type SpotOrdersDetail ¶
type SpotOrdersDetail struct { CurrencyPair string `json:"currency_pair"` Total float64 `json:"total"` Orders []SpotOrder `json:"orders"` }
SpotOrdersDetail represents list of orders for specific currency pair
type SpotPersonalTradeHistory ¶
type SpotPersonalTradeHistory struct { TradeID string `json:"id"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` CurrencyPair string `json:"currency_pair"` OrderID string `json:"order_id"` Side string `json:"side"` Role string `json:"role"` Amount types.Number `json:"amount"` Price types.Number `json:"price"` Fee types.Number `json:"fee"` FeeCurrency string `json:"fee_currency"` PointFee string `json:"point_fee"` GtFee string `json:"gt_fee"` }
SpotPersonalTradeHistory represents personal trading history.
type SpotPriceTriggeredOrder ¶
type SpotPriceTriggeredOrder struct { Trigger TriggerPriceInfo `json:"trigger"` Put PutOrderData `json:"put"` AutoOrderID int64 `json:"id"` UserID int64 `json:"user"` CreationTime types.Time `json:"ctime"` FireTime types.Time `json:"ftime"` FiredOrderID int64 `json:"fired_order_id"` Status string `json:"status"` Reason string `json:"reason"` Market string `json:"market"` }
SpotPriceTriggeredOrder represents spot price triggered order response data.
type SpotTradingFeeRate ¶
type SpotTradingFeeRate struct { UserID int64 `json:"user_id"` TakerFee types.Number `json:"taker_fee"` MakerFee types.Number `json:"maker_fee"` GtDiscount bool `json:"gt_discount"` GtTakerFee types.Number `json:"gt_taker_fee"` GtMakerFee types.Number `json:"gt_maker_fee"` FuturesTakerFee types.Number `json:"futures_taker_fee"` FuturesMakerFee types.Number `json:"futures_maker_fee"` LoanFee types.Number `json:"loan_fee"` PointType string `json:"point_type"` }
SpotTradingFeeRate user trading fee rates
type SubAccount ¶
type SubAccount struct { Remark string `json:"remark"` // custom text LoginName string `json:"login_name"` // SubAccount login name Password string `json:"password"` // The sub-account's password SubAccountEmail string `json:"email"` // The sub-account's email UserID int64 `json:"user_id"` State int64 `json:"state"` CreateTime types.Time `json:"create_time"` }
SubAccount represents a subaccount response
type SubAccountCrossMarginInfo ¶
type SubAccountCrossMarginInfo struct { UID string `json:"uid"` Available struct { UserID int64 `json:"user_id"` Locked bool `json:"locked"` Total types.Number `json:"total"` Borrowed types.Number `json:"borrowed"` Interest types.Number `json:"interest"` // Total unpaid interests in USDT, i.e., the sum of all currencies' interest*price*discount BorrowedNet string `json:"borrowed_net"` TotalNetAssets types.Number `json:"net"` Leverage types.Number `json:"leverage"` Risk string `json:"risk"` TotalInitialMargin types.Number `json:"total_initial_margin"` TotalMarginBalance types.Number `json:"total_margin_balance"` TotalMaintenanceMargin types.Number `json:"total_maintenance_margin"` TotalInitialMarginRate types.Number `json:"total_initial_margin_rate"` TotalMaintenanceMarginRate types.Number `json:"total_maintenance_margin_rate"` TotalAvailableMargin types.Number `json:"total_available_margin"` CurrencyBalances map[string]CrossMarginBalance `json:"balances"` } `json:"available"` }
SubAccountCrossMarginInfo represents subaccount's cross_margin account info
type SubAccountKey ¶
type SubAccountKey struct { APIKeyName string `json:"name,omitempty"` Permissions []APIV4KeyPerm `json:"perms,omitempty"` }
SubAccountKey represents sub-account key detail information this is a struct to be used for outbound requests.
type SubAccountMarginBalance ¶
type SubAccountMarginBalance struct { UID string `json:"uid"` Available []struct { CurrencyPair string `json:"currency_pair"` Locked bool `json:"locked"` Risk string `json:"risk"` Base MarginCurrencyBalance `json:"base"` Quote MarginCurrencyBalance `json:"quote"` } `json:"available"` }
SubAccountMarginBalance represents sub account margin balance for specific sub account and several currencies
type SubAccountParams ¶
type SubAccountParams struct { LoginName string `json:"login_name"` Remark string `json:"remark,omitempty"` Email string `json:"email,omitempty"` // The sub-account's password. Password string `json:"password,omitempty"` // The sub-account's email address. }
SubAccountParams represents subaccount creation parameters
type SubAccountTransferParam ¶
type SubAccountTransferParam struct { Currency currency.Code `json:"currency"` SubAccount string `json:"sub_account"` Direction string `json:"direction"` Amount types.Number `json:"amount"` SubAccountType string `json:"sub_account_type"` }
SubAccountTransferParam represents currency subaccount transfer request param
type SubAccountTransferResponse ¶
type SubAccountTransferResponse struct { MainAccountUserID string `json:"uid"` Timestamp types.Time `json:"timest"` Source string `json:"source"` Currency string `json:"currency"` SubAccount string `json:"sub_account"` TransferDirection string `json:"direction"` Amount types.Number `json:"amount"` SubAccountType string `json:"sub_account_type"` }
SubAccountTransferResponse represents transfer records between main and sub accounts
type SwapCurrencies ¶
type SwapCurrencies struct { Currency string `json:"currency"` MinAmount types.Number `json:"min_amount"` MaxAmount types.Number `json:"max_amount"` Swappable []string `json:"swappable"` }
SwapCurrencies represents Flash Swap supported currencies
type Ticker ¶
type Ticker struct { CurrencyPair string `json:"currency_pair"` Last types.Number `json:"last"` LowestAsk types.Number `json:"lowest_ask"` HighestBid types.Number `json:"highest_bid"` ChangePercentage string `json:"change_percentage"` ChangeUtc0 string `json:"change_utc0"` ChangeUtc8 string `json:"change_utc8"` BaseVolume types.Number `json:"base_volume"` QuoteVolume types.Number `json:"quote_volume"` High24H types.Number `json:"high_24h"` Low24H types.Number `json:"low_24h"` EtfNetValue string `json:"etf_net_value"` EtfPreNetValue string `json:"etf_pre_net_value"` EtfPreTimestamp types.Time `json:"etf_pre_timestamp"` EtfLeverage types.Number `json:"etf_leverage"` }
Ticker holds detail ticker information for a currency pair
type Trade ¶
type Trade struct { ID int64 `json:"id,string"` TradingTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` OrderID string `json:"order_id"` Side string `json:"side"` Role string `json:"role"` Amount types.Number `json:"amount"` Price types.Number `json:"price"` Fee types.Number `json:"fee"` FeeCurrency string `json:"fee_currency"` PointFee string `json:"point_fee"` GtFee string `json:"gt_fee"` }
Trade represents market trade.
type TradingHistoryItem ¶
type TradingHistoryItem struct { ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` Contract string `json:"contract"` Text string `json:"text"` Size float64 `json:"size"` Price types.Number `json:"price"` // Added for Derived market trade history datas. Fee types.Number `json:"fee"` PointFee types.Number `json:"point_fee"` Role string `json:"role"` }
TradingHistoryItem represents futures trading history item.
type TransactionIDResponse ¶
type TransactionIDResponse struct {
TransactionID int64 `json:"tx_id"`
}
TransactionIDResponse represents transaction ID
type TransferCurrencyParam ¶
type TransferCurrencyParam struct { Currency currency.Code `json:"currency"` From string `json:"from"` To string `json:"to"` Amount types.Number `json:"amount"` CurrencyPair currency.Pair `json:"currency_pair"` Settle string `json:"settle"` }
TransferCurrencyParam represents currency transfer.
type TriggerPriceInfo ¶
type TriggerPriceInfo struct { Price types.Number `json:"price"` Rule string `json:"rule"` Expiration int64 `json:"expiration"` }
TriggerPriceInfo represents a trigger price and related information for Price triggered order
type TriggerTimeResponse ¶
TriggerTimeResponse represents trigger types.Timeas a response for countdown candle order response
type UnifiedUserAccount ¶
type UnifiedUserAccount struct { UserID int64 `json:"user_id"` Locked bool `json:"locked"` Balances map[currency.Code]BalanceDetails `json:"balances"` Total types.Number `json:"total"` Borrowed types.Number `json:"borrowed"` TotalInitialMargin types.Number `json:"total_initial_margin"` TotalMarginBalance types.Number `json:"total_margin_balance"` TotalMaintenanceMargin types.Number `json:"total_maintenance_margin"` TotalInitialMarginRate types.Number `json:"total_initial_margin_rate"` TotalMaintenanceMarginRate types.Number `json:"total_maintenance_margin_rate"` TotalAvailableMargin types.Number `json:"total_available_margin"` UnifiedAccountTotal types.Number `json:"unified_account_total"` UnifiedAccountTotalLiabilities types.Number `json:"unified_account_total_liab"` UnifiedAccountTotalEquity types.Number `json:"unified_account_total_equity"` Leverage types.Number `json:"leverage"` SpotOrderLoss types.Number `json:"spot_order_loss"` SpotHedge bool `json:"spot_hedge"` UseFunding bool `json:"use_funding"` RefreshTime types.Time `json:"refresh_time"` }
UnifiedUserAccount represents a unified user account
type UsersAllAccountBalance ¶
type UsersAllAccountBalance struct { Details map[string]CurrencyBalanceAmount `json:"details"` Total CurrencyBalanceAmount `json:"total"` }
UsersAllAccountBalance represents user all account balances.
type UsersPositionForUnderlying ¶
type UsersPositionForUnderlying struct { User int64 `json:"user"` Contract string `json:"contract"` Size int64 `json:"size"` EntryPrice types.Number `json:"entry_price"` RealisedPnl types.Number `json:"realised_pnl"` MarkPrice types.Number `json:"mark_price"` UnrealisedPnl types.Number `json:"unrealised_pnl"` PendingOrders int64 `json:"pending_orders"` CloseOrder struct { ID int64 `json:"id"` Price types.Number `json:"price"` IsLiq bool `json:"is_liq"` } `json:"close_order"` }
UsersPositionForUnderlying represents user's position for specified underlying.
type WalletSavedAddress ¶
type WalletSavedAddress struct { Currency string `json:"currency"` Chain string `json:"chain"` Address string `json:"address"` Name string `json:"name"` Tag string `json:"tag"` Verified string `json:"verified"` // Whether to pass the verification 0-unverified, 1-verified }
WalletSavedAddress represents currency saved address
type WithdrawalRequestParam ¶
type WithdrawalRequestParam struct { Currency currency.Code `json:"currency"` Amount types.Number `json:"amount"` Chain string `json:"chain,omitempty"` // Optional parameters Address string `json:"address,omitempty"` Memo string `json:"memo,omitempty"` }
WithdrawalRequestParam represents currency withdrawal request param.
type WithdrawalResponse ¶
type WithdrawalResponse struct { ID string `json:"id"` Timestamp types.Time `json:"timestamp"` Currency string `json:"currency"` WithdrawalAddress string `json:"address"` TransactionID string `json:"txid"` Amount types.Number `json:"amount"` Memo string `json:"memo"` Status string `json:"status"` Chain string `json:"chain"` Fee types.Number `json:"fee"` }
WithdrawalResponse represents withdrawal response
type WithdrawalStatus ¶
type WithdrawalStatus struct { Currency string `json:"currency"` CurrencyName string `json:"name"` CurrencyNameChinese string `json:"name_cn"` Deposit types.Number `json:"deposit"` WithdrawPercent string `json:"withdraw_percent"` FixedWithdrawalFee types.Number `json:"withdraw_fix"` WithdrawDayLimit types.Number `json:"withdraw_day_limit"` WithdrawDayLimitRemain types.Number `json:"withdraw_day_limit_remain"` WithdrawAmountMini types.Number `json:"withdraw_amount_mini"` WithdrawEachTimeLimit types.Number `json:"withdraw_eachtime_limit"` WithdrawFixOnChains map[string]string `json:"withdraw_fix_on_chains"` AdditionalProperties string `json:"additionalProperties"` }
WithdrawalStatus represents currency withdrawal status
type WsAuthInput ¶
type WsAuthInput struct { Method string `json:"method,omitempty"` Key string `json:"KEY,omitempty"` Sign string `json:"SIGN,omitempty"` }
WsAuthInput represents the authentication information
type WsBalance ¶
type WsBalance struct { Balance float64 `json:"balance"` Change float64 `json:"change"` Text string `json:"text"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` Type string `json:"type"` User string `json:"user"` }
WsBalance represents a options and futures balance push data
type WsCandlesticks ¶
type WsCandlesticks struct { Timestamp types.Time `json:"t"` TotalVolume types.Number `json:"v"` ClosePrice types.Number `json:"c"` HighestPrice types.Number `json:"h"` LowestPrice types.Number `json:"l"` OpenPrice types.Number `json:"o"` NameOfSubscription string `json:"n"` }
WsCandlesticks represents the candlestick data for spot, margin and cross margin trades pushed through the websocket channel.
type WsCrossMarginBalance ¶
type WsCrossMarginBalance struct { Timestamp types.Time `json:"timestamp"` TimestampMs types.Time `json:"timestamp_ms"` User string `json:"user"` Currency string `json:"currency"` Change string `json:"change"` Total types.Number `json:"total"` Available types.Number `json:"available"` }
WsCrossMarginBalance represents a cross margin balance detail
type WsCrossMarginLoan ¶
type WsCrossMarginLoan struct { Timestamp types.Time `json:"timestamp"` User string `json:"user"` Currency string `json:"currency"` Change string `json:"change"` Total types.Number `json:"total"` Available types.Number `json:"available"` Borrowed string `json:"borrowed"` Interest string `json:"interest"` }
WsCrossMarginLoan represents a cross margin loan push data
type WsEventResponse ¶
type WsEventResponse struct { Time types.Time `json:"time"` ID int64 `json:"id"` Channel string `json:"channel"` Event string `json:"event"` Result *struct { Status string `json:"status"` } `json:"result"` Error *struct { Code int64 `json:"code"` Message string `json:"message"` } }
WsEventResponse represents websocket incoming subscription, unsubscription, and update response
type WsFundingBalance ¶
type WsFundingBalance struct { Timestamp types.Time `json:"timestamp"` TimestampMs types.Time `json:"timestamp_ms"` User string `json:"user"` Currency string `json:"currency"` Change string `json:"change"` Freeze string `json:"freeze"` Lent string `json:"lent"` }
WsFundingBalance represents funding balance push data.
type WsFutureTicker ¶
type WsFutureTicker struct { Contract currency.Pair `json:"contract"` Last types.Number `json:"last"` ChangePercentage string `json:"change_percentage"` FundingRate string `json:"funding_rate"` FundingRateIndicative string `json:"funding_rate_indicative"` MarkPrice types.Number `json:"mark_price"` IndexPrice types.Number `json:"index_price"` TotalSize types.Number `json:"total_size"` Volume24H types.Number `json:"volume_24h"` Volume24HBtc types.Number `json:"volume_24h_btc"` Volume24HUsd types.Number `json:"volume_24h_usd"` QuantoBaseRate string `json:"quanto_base_rate"` Volume24HQuote types.Number `json:"volume_24h_quote"` Volume24HSettle string `json:"volume_24h_settle"` Volume24HBase types.Number `json:"volume_24h_base"` Low24H types.Number `json:"low_24h"` High24H types.Number `json:"high_24h"` }
WsFutureTicker represents a futures push data.
type WsFuturesAndOptionsOrderbookUpdate ¶
type WsFuturesAndOptionsOrderbookUpdate struct { TimestampInMs types.Time `json:"t"` ContractName currency.Pair `json:"s"` FirstUpdatedID int64 `json:"U"` LastUpdatedID int64 `json:"u"` Bids []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"b"` Asks []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"a"` }
WsFuturesAndOptionsOrderbookUpdate represents futures and options account orderbook update push data
type WsFuturesAutoDeleveragesNotification ¶
type WsFuturesAutoDeleveragesNotification struct { EntryPrice float64 `json:"entry_price"` FillPrice float64 `json:"fill_price"` PositionSize int64 `json:"position_size"` TradeSize int64 `json:"trade_size"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` Contract string `json:"contract"` User string `json:"user"` }
WsFuturesAutoDeleveragesNotification represents futures auto deleverages push data
type WsFuturesAutoOrder ¶
type WsFuturesAutoOrder struct { User int64 `json:"user"` Trigger struct { StrategyType int64 `json:"strategy_type"` PriceType int64 `json:"price_type"` Price string `json:"price"` Rule int64 `json:"rule"` Expiration int64 `json:"expiration"` } `json:"trigger"` Initial struct { Contract string `json:"contract"` Size int64 `json:"size"` Price types.Number `json:"price"` TimeInForce string `json:"tif"` Text string `json:"text"` Iceberg int64 `json:"iceberg"` IsClose bool `json:"is_close"` IsReduceOnly bool `json:"is_reduce_only"` } `json:"initial"` ID int64 `json:"id"` TradeID int64 `json:"trade_id"` Status string `json:"status"` Reason string `json:"reason"` CreateTime types.Time `json:"create_time"` Name string `json:"name"` IsStopOrder bool `json:"is_stop_order"` StopTrigger struct { Rule int64 `json:"rule"` TriggerPrice string `json:"trigger_price"` OrderPrice string `json:"order_price"` } `json:"stop_trigger"` }
WsFuturesAutoOrder represents an auto order push data.
type WsFuturesLiquidationNotification ¶
type WsFuturesLiquidationNotification struct { EntryPrice int64 `json:"entry_price"` FillPrice float64 `json:"fill_price"` Left float64 `json:"left"` Leverage float64 `json:"leverage"` LiqPrice int64 `json:"liq_price"` Margin float64 `json:"margin"` MarkPrice int64 `json:"mark_price"` OrderID int64 `json:"order_id"` OrderPrice float64 `json:"order_price"` Size float64 `json:"size"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` Contract string `json:"contract"` User string `json:"user"` }
WsFuturesLiquidationNotification represents a liquidation notification push data
type WsFuturesOrder ¶
type WsFuturesOrder struct { Contract currency.Pair `json:"contract"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` FillPrice float64 `json:"fill_price"` FinishAs string `json:"finish_as"` FinishTime types.Time `json:"finish_time"` FinishTimeMs types.Time `json:"finish_time_ms"` Iceberg int64 `json:"iceberg"` ID int64 `json:"id"` IsClose bool `json:"is_close"` IsLiq bool `json:"is_liq"` IsReduceOnly bool `json:"is_reduce_only"` Left float64 `json:"left"` Mkfr float64 `json:"mkfr"` Price float64 `json:"price"` Refr int64 `json:"refr"` Refu int64 `json:"refu"` Size float64 `json:"size"` Status string `json:"status"` Text string `json:"text"` TimeInForce string `json:"tif"` Tkfr float64 `json:"tkfr"` User string `json:"user"` }
WsFuturesOrder represents futures order
type WsFuturesOrderbookSnapshot ¶
type WsFuturesOrderbookSnapshot struct { TimestampInMs types.Time `json:"t"` Contract currency.Pair `json:"contract"` OrderbookID int64 `json:"id"` Asks []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"asks"` Bids []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"bids"` }
WsFuturesOrderbookSnapshot represents a futures orderbook snapshot push data
type WsFuturesOrderbookTicker ¶
type WsFuturesOrderbookTicker struct { TimestampMs types.Time `json:"t"` UpdateID int64 `json:"u"` CurrencyPair string `json:"s"` BestBidPrice types.Number `json:"b"` BestBidAmount float64 `json:"B"` BestAskPrice types.Number `json:"a"` BestAskAmount float64 `json:"A"` }
WsFuturesOrderbookTicker represents the orderbook ticker push data
type WsFuturesOrderbookUpdateEvent ¶
type WsFuturesOrderbookUpdateEvent struct { Price types.Number `json:"p"` Amount float64 `json:"s"` CurrencyPair string `json:"c"` ID int64 `json:"id"` }
WsFuturesOrderbookUpdateEvent represents futures orderbook push data with the event 'update'
type WsFuturesPosition ¶
type WsFuturesPosition struct { Contract string `json:"contract"` CrossLeverageLimit float64 `json:"cross_leverage_limit"` EntryPrice float64 `json:"entry_price"` HistoryPnl float64 `json:"history_pnl"` HistoryPoint int64 `json:"history_point"` LastClosePnl float64 `json:"last_close_pnl"` Leverage float64 `json:"leverage"` LeverageMax float64 `json:"leverage_max"` LiqPrice float64 `json:"liq_price"` MaintenanceRate float64 `json:"maintenance_rate"` Margin float64 `json:"margin"` Mode string `json:"mode"` RealisedPnl float64 `json:"realised_pnl"` RealisedPoint float64 `json:"realised_point"` RiskLimit float64 `json:"risk_limit"` Size float64 `json:"size"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` User string `json:"user"` }
WsFuturesPosition represents futures notify positions update.
type WsFuturesReduceRiskLimitNotification ¶
type WsFuturesReduceRiskLimitNotification struct { CancelOrders int64 `json:"cancel_orders"` Contract string `json:"contract"` LeverageMax int64 `json:"leverage_max"` LiqPrice float64 `json:"liq_price"` MaintenanceRate float64 `json:"maintenance_rate"` RiskLimit int64 `json:"risk_limit"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` User string `json:"user"` }
WsFuturesReduceRiskLimitNotification represents a futures reduced risk limit push data
type WsFuturesTrades ¶
type WsFuturesTrades struct { Size float64 `json:"size"` ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` Price types.Number `json:"price"` Contract currency.Pair `json:"contract"` }
WsFuturesTrades represents a list of trades push data
type WsFuturesUserTrade ¶
type WsFuturesUserTrade struct { ID string `json:"id"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` Contract currency.Pair `json:"contract"` OrderID string `json:"order_id"` Size float64 `json:"size"` Price types.Number `json:"price"` Role string `json:"role"` Text string `json:"text"` Fee float64 `json:"fee"` PointFee int64 `json:"point_fee"` }
WsFuturesUserTrade represents a futures account user trade push data
type WsInput ¶
type WsInput struct { Time int64 `json:"time,omitempty"` ID int64 `json:"id,omitempty"` Channel string `json:"channel,omitempty"` Event string `json:"event,omitempty"` Payload []string `json:"payload,omitempty"` Auth *WsAuthInput `json:"auth,omitempty"` }
WsInput represents general structure for websocket requests
type WsMarginBalance ¶
type WsMarginBalance struct { Timestamp types.Time `json:"timestamp"` TimestampMs types.Time `json:"timestamp_ms"` User string `json:"user"` CurrencyPair string `json:"currency_pair"` Currency string `json:"currency"` Change types.Number `json:"change"` Available types.Number `json:"available"` Freeze types.Number `json:"freeze"` Borrowed string `json:"borrowed"` Interest string `json:"interest"` }
WsMarginBalance represents margin account balance push data
type WsOptionUnderlyingTicker ¶
type WsOptionUnderlyingTicker struct { TradePut int64 `json:"trade_put"` TradeCall int64 `json:"trade_call"` IndexPrice string `json:"index_price"` Name string `json:"name"` }
WsOptionUnderlyingTicker represents options underlying ticker push data
type WsOptionsContract ¶
type WsOptionsContract struct { Contract string `json:"contract"` CreateTime types.Time `json:"create_time"` ExpirationTime types.Time `json:"expiration_time"` InitMarginHigh float64 `json:"init_margin_high"` InitMarginLow float64 `json:"init_margin_low"` IsCall bool `json:"is_call"` MaintMarginBase float64 `json:"maint_margin_base"` MakerFeeRate float64 `json:"maker_fee_rate"` MarkPriceRound float64 `json:"mark_price_round"` MinBalanceShort float64 `json:"min_balance_short"` MinOrderMargin float64 `json:"min_order_margin"` Multiplier float64 `json:"multiplier"` OrderPriceDeviate float64 `json:"order_price_deviate"` OrderPriceRound float64 `json:"order_price_round"` OrderSizeMax float64 `json:"order_size_max"` OrderSizeMin float64 `json:"order_size_min"` OrdersLimit float64 `json:"orders_limit"` RefDiscountRate float64 `json:"ref_discount_rate"` RefRebateRate float64 `json:"ref_rebate_rate"` StrikePrice float64 `json:"strike_price"` Tag string `json:"tag"` TakerFeeRate float64 `json:"taker_fee_rate"` Underlying string `json:"underlying"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` }
WsOptionsContract represents an option contract push data.
type WsOptionsContractCandlestick ¶
type WsOptionsContractCandlestick struct { Timestamp types.Time `json:"t"` TotalVolume float64 `json:"v"` ClosePrice types.Number `json:"c"` HighestPrice types.Number `json:"h"` LowestPrice types.Number `json:"l"` OpenPrice types.Number `json:"o"` Amount types.Number `json:"a"` NameOfSubscription string `json:"n"` // the format of <interval string>_<currency pair> }
WsOptionsContractCandlestick represents an options contract candlestick push data.
type WsOptionsLiquidates ¶
type WsOptionsLiquidates struct { User string `json:"user"` InitMargin float64 `json:"init_margin"` MaintMargin float64 `json:"maint_margin"` OrderMargin float64 `json:"order_margin"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` }
WsOptionsLiquidates represents the liquidates push data of option account.
type WsOptionsMarkPrice ¶
type WsOptionsMarkPrice struct { Contract string `json:"contract"` Price float64 `json:"price"` UpdateTimeMs types.Time `json:"time_ms"` UpdateTime types.Time `json:"time"` }
WsOptionsMarkPrice represents options mark price push data.
type WsOptionsOrder ¶
type WsOptionsOrder struct { ID int64 `json:"id"` Contract currency.Pair `json:"contract"` CreateTime types.Time `json:"create_time"` FillPrice float64 `json:"fill_price"` FinishAs string `json:"finish_as"` Iceberg float64 `json:"iceberg"` IsClose bool `json:"is_close"` IsLiq bool `json:"is_liq"` IsReduceOnly bool `json:"is_reduce_only"` Left float64 `json:"left"` Mkfr float64 `json:"mkfr"` Price float64 `json:"price"` Refr float64 `json:"refr"` Refu float64 `json:"refu"` Size float64 `json:"size"` Status string `json:"status"` Text string `json:"text"` Tif string `json:"tif"` Tkfr float64 `json:"tkfr"` Underlying string `json:"underlying"` User string `json:"user"` CreationTime types.Time `json:"time"` CreationTimeMs types.Time `json:"time_ms"` }
WsOptionsOrder represents options order push data.
type WsOptionsOrderbookSnapshot ¶
type WsOptionsOrderbookSnapshot struct { Timestamp types.Time `json:"t"` Contract currency.Pair `json:"contract"` ID int64 `json:"id"` Asks []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"asks"` Bids []struct { Price types.Number `json:"p"` Size float64 `json:"s"` } `json:"bids"` }
WsOptionsOrderbookSnapshot represents the options orderbook snapshot push data.
type WsOptionsOrderbookTicker ¶
type WsOptionsOrderbookTicker struct { UpdateTimestamp types.Time `json:"t"` UpdateID int64 `json:"u"` ContractName string `json:"s"` BidPrice types.Number `json:"b"` BidSize float64 `json:"B"` AskPrice types.Number `json:"a"` AskSize float64 `json:"A"` }
WsOptionsOrderbookTicker represents options orderbook ticker push data.
type WsOptionsPosition ¶
type WsOptionsPosition struct { EntryPrice float64 `json:"entry_price"` RealisedPnl float64 `json:"realised_pnl"` Size float64 `json:"size"` Contract string `json:"contract"` User string `json:"user"` UpdateTime types.Time `json:"time"` UpdateTimeMs types.Time `json:"time_ms"` }
WsOptionsPosition represents positions push data for options account.
type WsOptionsSettlement ¶
type WsOptionsSettlement struct { Contract string `json:"contract"` OrderbookID int64 `json:"orderbook_id"` PositionSize float64 `json:"position_size"` Profit float64 `json:"profit"` SettlePrice float64 `json:"settle_price"` StrikePrice float64 `json:"strike_price"` Tag string `json:"tag"` TradeID int64 `json:"trade_id"` TradeSize int64 `json:"trade_size"` Underlying string `json:"underlying"` UpdateTime types.Time `json:"time"` UpdateTimeMs types.Time `json:"time_ms"` }
WsOptionsSettlement represents a options settlement push data.
type WsOptionsTrades ¶
type WsOptionsTrades struct { ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` Contract currency.Pair `json:"contract"` Size float64 `json:"size"` Price float64 `json:"price"` // Added in options websocket push data CreateTimeMs types.Time `json:"create_time_ms"` Underlying string `json:"underlying"` IsCall bool `json:"is_call"` // added in underlying trades }
WsOptionsTrades represents options trades for websocket push data.
type WsOptionsUnderlyingPrice ¶
type WsOptionsUnderlyingPrice struct { Underlying string `json:"underlying"` Price float64 `json:"price"` UpdateTime types.Time `json:"time"` UpdateTimeMs types.Time `json:"time_ms"` }
WsOptionsUnderlyingPrice represents the underlying price.
type WsOptionsUserSettlement ¶
type WsOptionsUserSettlement struct { User string `json:"user"` Contract string `json:"contract"` RealisedPnl float64 `json:"realised_pnl"` SettlePrice float64 `json:"settle_price"` SettleProfit float64 `json:"settle_profit"` Size float64 `json:"size"` StrikePrice float64 `json:"strike_price"` Underlying string `json:"underlying"` SettleTime types.Time `json:"time"` SettleTimeMs types.Time `json:"time_ms"` }
WsOptionsUserSettlement represents user's personal settlements push data of options account.
type WsOptionsUserTrade ¶
type WsOptionsUserTrade struct { ID string `json:"id"` Underlying string `json:"underlying"` OrderID string `json:"order"` Contract currency.Pair `json:"contract"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` Price types.Number `json:"price"` Role string `json:"role"` Size float64 `json:"size"` }
WsOptionsUserTrade represents user's personal trades of option account.
type WsOrderbookSnapshot ¶
type WsOrderbookSnapshot struct { UpdateTimeMs types.Time `json:"t"` LastUpdateID int64 `json:"lastUpdateId"` CurrencyPair currency.Pair `json:"s"` Bids [][2]types.Number `json:"bids"` Asks [][2]types.Number `json:"asks"` }
WsOrderbookSnapshot represents a websocket orderbook snapshot push data
type WsOrderbookTickerData ¶
type WsOrderbookTickerData struct { UpdateTimeMS types.Time `json:"t"` UpdateOrderID int64 `json:"u"` CurrencyPair currency.Pair `json:"s"` BestBidPrice types.Number `json:"b"` BestBidAmount types.Number `json:"B"` BestAskPrice types.Number `json:"a"` BestAskAmount types.Number `json:"A"` }
WsOrderbookTickerData represents the websocket orderbook best bid or best ask push data
type WsOrderbookUpdate ¶
type WsOrderbookUpdate struct { UpdateTimeMs types.Time `json:"t"` IgnoreField string `json:"e"` UpdateTime types.Time `json:"E"` CurrencyPair currency.Pair `json:"s"` FirstOrderbookUpdatedID int64 `json:"U"` // First update order book id in this event since last update LastOrderbookUpdatedID int64 `json:"u"` Bids [][2]types.Number `json:"b"` Asks [][2]types.Number `json:"a"` }
WsOrderbookUpdate represents websocket orderbook update push data
type WsPositionClose ¶
type WsPositionClose struct { Contract string `json:"contract"` ProfitAndLoss float64 `json:"pnl,omitempty"` Side string `json:"side"` Text string `json:"text"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` User string `json:"user"` // Added in options close position push datas SettleSize float64 `json:"settle_size,omitempty"` Underlying string `json:"underlying,omitempty"` }
WsPositionClose represents a close position futures push data
type WsResponse ¶
type WsResponse struct { ID int64 `json:"id"` Time types.Time `json:"time"` TimeMs types.Time `json:"time_ms"` Channel string `json:"channel"` Event string `json:"event"` Result json.RawMessage `json:"result"` }
WsResponse represents generalized websocket push data from the server.
type WsSpotBalance ¶
type WsSpotBalance struct { Timestamp types.Time `json:"timestamp"` TimestampMs types.Time `json:"timestamp_ms"` User string `json:"user"` Currency string `json:"currency"` Change types.Number `json:"change"` Total types.Number `json:"total"` Available types.Number `json:"available"` }
WsSpotBalance represents a spot balance.
type WsSpotOrder ¶
type WsSpotOrder struct { ID string `json:"id,omitempty"` User int64 `json:"user"` Text string `json:"text,omitempty"` Succeeded bool `json:"succeeded,omitempty"` Label string `json:"label,omitempty"` Message string `json:"message,omitempty"` CurrencyPair currency.Pair `json:"currency_pair,omitempty"` Type string `json:"type,omitempty"` Account string `json:"account,omitempty"` Side string `json:"side,omitempty"` Amount types.Number `json:"amount,omitempty"` Price types.Number `json:"price,omitempty"` TimeInForce string `json:"time_in_force,omitempty"` Iceberg string `json:"iceberg,omitempty"` Left types.Number `json:"left,omitempty"` FilledTotal types.Number `json:"filled_total,omitempty"` Fee types.Number `json:"fee,omitempty"` FeeCurrency string `json:"fee_currency,omitempty"` PointFee string `json:"point_fee,omitempty"` GtFee string `json:"gt_fee,omitempty"` GtDiscount bool `json:"gt_discount,omitempty"` RebatedFee string `json:"rebated_fee,omitempty"` RebatedFeeCurrency string `json:"rebated_fee_currency,omitempty"` Event string `json:"event"` CreateTime types.Time `json:"create_time,omitempty"` CreateTimeMs types.Time `json:"create_time_ms,omitempty"` UpdateTime types.Time `json:"update_time,omitempty"` UpdateTimeMs types.Time `json:"update_time_ms,omitempty"` }
WsSpotOrder represents an order push data through the websocket channel.
type WsTicker ¶
type WsTicker struct { CurrencyPair currency.Pair `json:"currency_pair"` Last types.Number `json:"last"` LowestAsk types.Number `json:"lowest_ask"` HighestBid types.Number `json:"highest_bid"` ChangePercentage types.Number `json:"change_percentage"` BaseVolume types.Number `json:"base_volume"` QuoteVolume types.Number `json:"quote_volume"` High24H types.Number `json:"high_24h"` Low24H types.Number `json:"low_24h"` }
WsTicker websocket ticker information.
type WsTrade ¶
type WsTrade struct { ID int64 `json:"id"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` Side string `json:"side"` CurrencyPair currency.Pair `json:"currency_pair"` Amount types.Number `json:"amount"` Price types.Number `json:"price"` }
WsTrade represents a websocket push data response for a trade
type WsUserPersonalTrade ¶
type WsUserPersonalTrade struct { ID int64 `json:"id"` UserID int64 `json:"user_id"` OrderID string `json:"order_id"` CurrencyPair currency.Pair `json:"currency_pair"` CreateTime types.Time `json:"create_time"` CreateTimeMs types.Time `json:"create_time_ms"` Side string `json:"side"` Amount types.Number `json:"amount"` Role string `json:"role"` Price types.Number `json:"price"` Fee types.Number `json:"fee"` PointFee types.Number `json:"point_fee"` GtFee string `json:"gt_fee"` Text string `json:"text"` }
WsUserPersonalTrade represents a user's personal trade pushed through the websocket connection.