Documentation ¶
Index ¶
- type ActiveLoans
- type AuthenticatedTradeHistoryAll
- type AuthenticatedTradeHistoryResponse
- type AuthentictedTradeHistory
- type Balance
- type ChartData
- type Currencies
- type DepositCryptoAddresses
- type Fee
- type GenericResponse
- type HitBTC
- func (h *HitBTC) AuthenticateWebsocket() error
- func (h *HitBTC) CancelAllExistingOrders() ([]Order, error)
- func (h *HitBTC) CancelAllOrders(_ *exchange.OrderCancellation) (exchange.CancelAllOrdersResponse, error)
- func (h *HitBTC) CancelExistingOrder(orderID int64) (bool, error)
- func (h *HitBTC) CancelOrder(order *exchange.OrderCancellation) error
- func (h *HitBTC) GenerateDefaultSubscriptions()
- func (h *HitBTC) GenerateNewAddress(currency string) (DepositCryptoAddresses, error)
- func (h *HitBTC) GetAccountInfo() (exchange.AccountInfo, error)
- func (h *HitBTC) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([]exchange.OrderDetail, error)
- func (h *HitBTC) GetActiveorders(currency string) ([]Order, error)
- func (h *HitBTC) GetBalances() (map[string]Balance, error)
- func (h *HitBTC) GetCandles(currencyPair, limit, period string) ([]ChartData, error)
- func (h *HitBTC) GetCurrencies() (map[string]Currencies, error)
- func (h *HitBTC) GetCurrency(currency string) (Currencies, error)
- func (h *HitBTC) GetDepositAddress(currency currency.Code, _ string) (string, error)
- func (h *HitBTC) GetDepositAddresses(currency string) (DepositCryptoAddresses, error)
- func (h *HitBTC) GetExchangeHistory(p currency.Pair, assetType string) ([]exchange.TradeHistory, error)
- func (h *HitBTC) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (h *HitBTC) GetFeeByType(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (h *HitBTC) GetFeeInfo(currencyPair string) (Fee, error)
- func (h *HitBTC) GetFundingHistory() ([]exchange.FundHistory, error)
- func (h *HitBTC) GetOpenOrders(currency string) ([]OrderHistoryResponse, error)
- func (h *HitBTC) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([]exchange.OrderDetail, error)
- func (h *HitBTC) GetOrderInfo(orderID string) (exchange.OrderDetail, error)
- func (h *HitBTC) GetOrderbook(currencyPair string, limit int) (Orderbook, error)
- func (h *HitBTC) GetOrderbookEx(currencyPair currency.Pair, assetType string) (orderbook.Base, error)
- func (h *HitBTC) GetOrders(currency string) ([]OrderHistoryResponse, error)
- func (h *HitBTC) GetSubscriptions() ([]wshandler.WebsocketChannelSubscription, error)
- func (h *HitBTC) GetSymbols(symbol string) ([]string, error)
- func (h *HitBTC) GetSymbolsDetailed() ([]Symbol, error)
- func (h *HitBTC) GetTicker(symbol string) (map[string]Ticker, error)
- func (h *HitBTC) GetTickerPrice(currencyPair currency.Pair, assetType string) (ticker.Price, error)
- func (h *HitBTC) GetTradableBalances() (map[string]map[string]float64, error)
- func (h *HitBTC) GetTradeHistoryForAllCurrencies(start, end string) (AuthenticatedTradeHistoryAll, error)
- func (h *HitBTC) GetTradeHistoryForCurrency(currency, start, end string) (AuthenticatedTradeHistoryResponse, error)
- func (h *HitBTC) GetTrades(currencyPair, from, till, limit, offset, by, sort string) ([]TradeHistory, error)
- func (h *HitBTC) GetWebsocket() (*wshandler.Websocket, error)
- func (h *HitBTC) ModifyOrder(action *exchange.ModifyOrder) (string, error)
- func (h *HitBTC) MoveOrder(orderID int64, rate, amount float64) (MoveOrderResponse, error)
- func (h *HitBTC) PlaceOrder(currency string, rate, amount float64, orderType, side string) (OrderResponse, error)
- func (h *HitBTC) Run()
- func (h *HitBTC) SendAuthenticatedHTTPRequest(method, endpoint string, values url.Values, result interface{}) error
- func (h *HitBTC) SendHTTPRequest(path string, result interface{}) error
- func (h *HitBTC) SetDefaults()
- func (h *HitBTC) Setup(exch *config.ExchangeConfig)
- func (h *HitBTC) Start(wg *sync.WaitGroup)
- func (h *HitBTC) SubmitOrder(p currency.Pair, side exchange.OrderSide, orderType exchange.OrderType, ...) (exchange.SubmitOrderResponse, error)
- func (h *HitBTC) Subscribe(channelToSubscribe wshandler.WebsocketChannelSubscription) error
- func (h *HitBTC) SubscribeToWebsocketChannels(channels []wshandler.WebsocketChannelSubscription) error
- func (h *HitBTC) TransferBalance(currency, from, to string, amount float64) (bool, error)
- func (h *HitBTC) Unsubscribe(channelToSubscribe wshandler.WebsocketChannelSubscription) error
- func (h *HitBTC) UnsubscribeToWebsocketChannels(channels []wshandler.WebsocketChannelSubscription) error
- func (h *HitBTC) UpdateOrderbook(currencyPair currency.Pair, assetType string) (orderbook.Base, error)
- func (h *HitBTC) UpdateTicker(currencyPair currency.Pair, assetType string) (ticker.Price, error)
- func (h *HitBTC) Withdraw(currency, address string, amount float64) (bool, error)
- func (h *HitBTC) WithdrawCryptocurrencyFunds(withdrawRequest *exchange.WithdrawRequest) (string, error)
- func (h *HitBTC) WithdrawFiatFunds(withdrawRequest *exchange.WithdrawRequest) (string, error)
- func (h *HitBTC) WithdrawFiatFundsToInternationalBank(withdrawRequest *exchange.WithdrawRequest) (string, error)
- func (h *HitBTC) WsConnect() error
- func (h *HitBTC) WsHandleData()
- func (h *HitBTC) WsProcessOrderbookSnapshot(ob WsOrderbook) error
- func (h *HitBTC) WsProcessOrderbookUpdate(update WsOrderbook) error
- type LendingHistory
- type LoanOffer
- type LoanOrder
- type LoanOrders
- type Margin
- type MarginPosition
- type MoveOrderResponse
- type OpenOrdersResponse
- type OpenOrdersResponseAll
- type Order
- type OrderHistoryResponse
- type OrderResponse
- type Orderbook
- type OrderbookItem
- type OrderbookResponse
- type ResponseError
- type ResultingTrades
- type Symbol
- type Ticker
- type TickerResponse
- type TradeHistory
- type Withdraw
- type WsActiveOrdersResponse
- type WsActiveOrdersResponseData
- type WsCancelOrderRequest
- type WsCancelOrderRequestData
- type WsCancelOrderResponse
- type WsCancelOrderResponseData
- type WsGetActiveOrdersResponse
- type WsGetActiveOrdersResponseData
- type WsGetCurrenciesRequest
- type WsGetCurrenciesRequestParameters
- type WsGetCurrenciesResponse
- type WsGetCurrenciesResponseData
- type WsGetSymbolsRequest
- type WsGetSymbolsRequestParameters
- type WsGetSymbolsResponse
- type WsGetSymbolsResponseData
- type WsGetTradesRequest
- type WsGetTradesRequestParameters
- type WsGetTradesResponse
- type WsGetTradesResponseData
- type WsGetTradesResponseTrades
- type WsGetTradingBalanceResponse
- type WsGetTradingBalanceResponseData
- type WsLoginData
- type WsLoginRequest
- type WsNotification
- type WsOrderbook
- type WsReplaceOrderRequest
- type WsReplaceOrderRequestData
- type WsReplaceOrderResponse
- type WsReplaceOrderResponseData
- type WsReportResponse
- type WsReportResponseData
- type WsRequest
- type WsSubmitOrderErrorResponse
- type WsSubmitOrderErrorResponseData
- type WsSubmitOrderRequest
- type WsSubmitOrderRequestData
- type WsSubmitOrderSuccessResponse
- type WsSubmitOrderSuccessResponseData
- type WsTicker
- type WsTrade
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActiveLoans ¶
ActiveLoans holds information about your active loans
type AuthenticatedTradeHistoryAll ¶
type AuthenticatedTradeHistoryAll struct {
Data map[string][]AuthentictedTradeHistory
}
AuthenticatedTradeHistoryAll contains the full trade history
type AuthenticatedTradeHistoryResponse ¶
type AuthenticatedTradeHistoryResponse struct {
Data []AuthentictedTradeHistory
}
AuthenticatedTradeHistoryResponse is the resp type for trade history
type AuthentictedTradeHistory ¶
type AuthentictedTradeHistory struct { GlobalTradeID int64 `json:"globalTradeID"` TradeID int64 `json:"tradeID,string"` Date string `json:"date"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Total float64 `json:"total,string"` Fee float64 `json:"fee,string"` OrderNumber int64 `json:"orderNumber,string"` Type string `json:"type"` Category string `json:"category"` }
AuthentictedTradeHistory contains trade history data
type Balance ¶
type Balance struct { Currency string `json:"currency"` Available float64 `json:"available,string"` // Amount available for trading or transfer to main account Reserved float64 `json:"reserved,string"` // Amount reserved for active orders or incomplete transfers to main account }
Balance is a simple balance type
type ChartData ¶
type ChartData struct { Timestamp time.Time `json:"timestamp,string"` Max float64 `json:"max,string"` // Max price Min float64 `json:"min,string"` // Min price Open float64 `json:"open,string"` // Open price Close float64 `json:"close,string"` // Close price Volume float64 `json:"volume,string"` // Volume in base currency VolumeQuote float64 `json:"volumeQuote,string"` // Volume in quote currency }
ChartData contains chart data
type Currencies ¶
type Currencies struct { ID string `json:"id"` // Currency identifier. FullName string `json:"fullName"` // Currency full name Crypto bool `json:"crypto,boolean"` // Is currency belongs to blockchain (false for ICO and fiat, like EUR) PayinEnabled bool `json:"payinEnabled"` // Is allowed for deposit (false for ICO) PayinPaymentID bool `json:"payinPaymentId"` // Is required to provide additional information other than the address for deposit PayinConfirmations int64 `json:"payinConfirmations"` // Blocks confirmations count for deposit PayoutEnabled bool `json:"payoutEnabled"` // Is allowed for withdraw (false for ICO) PayoutIsPaymentID bool `json:"payoutIsPaymentId"` // Is allowed to provide additional information for withdraw TransferEnabled bool `json:"transferEnabled"` // Is allowed to transfer between trading and account (may be disabled on maintain) Delisted bool `json:"delisted"` // True if currency delisted (stopped deposit and trading) PayoutFee string `json:"payoutFee"` // Default withdraw fee }
Currencies hold the full range of data for a specified currency
type DepositCryptoAddresses ¶
type DepositCryptoAddresses struct { Address string `json:"address"` // Address for deposit PaymentID string `json:"paymentId"` // Optional additional parameter. Required for deposit if persist }
DepositCryptoAddresses contains address information
type Fee ¶
type Fee struct { TakeLiquidityRate float64 `json:"takeLiquidityRate,string"` // Taker ProvideLiquidityRate float64 `json:"provideLiquidityRate,string"` // Maker }
Fee holds fee structure
type GenericResponse ¶
GenericResponse is the common response from HitBTC
type HitBTC ¶
type HitBTC struct { exchange.Base WebsocketConn *wshandler.WebsocketConnection }
HitBTC is the overarching type across the hitbtc package
func (*HitBTC) AuthenticateWebsocket ¶
AuthenticateWebsocket sends an authentication message to the websocket
func (*HitBTC) CancelAllExistingOrders ¶
CancelAllExistingOrders cancels all open orders
func (*HitBTC) CancelAllOrders ¶
func (h *HitBTC) CancelAllOrders(_ *exchange.OrderCancellation) (exchange.CancelAllOrdersResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*HitBTC) CancelExistingOrder ¶
CancelExistingOrder cancels a specific order by OrderID
func (*HitBTC) CancelOrder ¶
func (h *HitBTC) CancelOrder(order *exchange.OrderCancellation) error
CancelOrder cancels an order by its corresponding ID number
func (*HitBTC) GenerateDefaultSubscriptions ¶
func (h *HitBTC) GenerateDefaultSubscriptions()
GenerateDefaultSubscriptions Adds default subscriptions to websocket to be handled by ManageSubscriptions()
func (*HitBTC) GenerateNewAddress ¶
func (h *HitBTC) GenerateNewAddress(currency string) (DepositCryptoAddresses, error)
GenerateNewAddress generates a new deposit address for a currency
func (*HitBTC) GetAccountInfo ¶
func (h *HitBTC) GetAccountInfo() (exchange.AccountInfo, error)
GetAccountInfo retrieves balances for all enabled currencies for the HitBTC exchange
func (*HitBTC) GetActiveOrders ¶
func (h *HitBTC) GetActiveOrders(getOrdersRequest *exchange.GetOrdersRequest) ([]exchange.OrderDetail, error)
GetActiveOrders retrieves any orders that are active/open
func (*HitBTC) GetActiveorders ¶
GetActiveorders returns all your active orders
func (*HitBTC) GetBalances ¶
GetBalances returns full balance for your account
func (*HitBTC) GetCandles ¶
GetCandles returns candles which is used for OHLC a specific currency. Note: Result contain candles only with non zero volume.
func (*HitBTC) GetCurrencies ¶
func (h *HitBTC) GetCurrencies() (map[string]Currencies, error)
GetCurrencies returns the actual list of available currencies, tokens, ICO etc.
func (*HitBTC) GetCurrency ¶
func (h *HitBTC) GetCurrency(currency string) (Currencies, error)
GetCurrency returns the actual list of available currencies, tokens, ICO etc.
func (*HitBTC) GetDepositAddress ¶
GetDepositAddress returns a deposit address for a specified currency
func (*HitBTC) GetDepositAddresses ¶
func (h *HitBTC) GetDepositAddresses(currency string) (DepositCryptoAddresses, error)
GetDepositAddresses returns a deposit address for a specific currency
func (*HitBTC) GetExchangeHistory ¶
func (h *HitBTC) GetExchangeHistory(p currency.Pair, assetType string) ([]exchange.TradeHistory, error)
GetExchangeHistory returns historic trade data since exchange opening.
func (*HitBTC) GetFee ¶
func (h *HitBTC) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFee returns an estimate of fee based on type of transaction
func (*HitBTC) GetFeeByType ¶
func (h *HitBTC) GetFeeByType(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFeeByType returns an estimate of fee based on type of transaction
func (*HitBTC) GetFeeInfo ¶
GetFeeInfo returns current fee information
func (*HitBTC) GetFundingHistory ¶
func (h *HitBTC) GetFundingHistory() ([]exchange.FundHistory, error)
GetFundingHistory returns funding history, deposits and withdrawals
func (*HitBTC) GetOpenOrders ¶
func (h *HitBTC) GetOpenOrders(currency string) ([]OrderHistoryResponse, error)
GetOpenOrders List of your currently open orders.
func (*HitBTC) GetOrderHistory ¶
func (h *HitBTC) GetOrderHistory(getOrdersRequest *exchange.GetOrdersRequest) ([]exchange.OrderDetail, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*HitBTC) GetOrderInfo ¶
func (h *HitBTC) GetOrderInfo(orderID string) (exchange.OrderDetail, error)
GetOrderInfo returns information on a current open order
func (*HitBTC) GetOrderbook ¶
GetOrderbook an order book is an electronic list of buy and sell orders for a specific symbol, organized by price level.
func (*HitBTC) GetOrderbookEx ¶
func (h *HitBTC) GetOrderbookEx(currencyPair currency.Pair, assetType string) (orderbook.Base, error)
GetOrderbookEx returns orderbook base on the currency pair
func (*HitBTC) GetOrders ¶
func (h *HitBTC) GetOrders(currency string) ([]OrderHistoryResponse, error)
GetOrders List of your order history.
func (*HitBTC) GetSubscriptions ¶
func (h *HitBTC) GetSubscriptions() ([]wshandler.WebsocketChannelSubscription, error)
GetSubscriptions returns a copied list of subscriptions
func (*HitBTC) GetSymbols ¶
GetSymbols Return the actual list of currency symbols (currency pairs) traded on HitBTC exchange. The first listed currency of a symbol is called the base currency, and the second currency is called the quote currency. The currency pair indicates how much of the quote currency is needed to purchase one unit of the base currency.
func (*HitBTC) GetSymbolsDetailed ¶
GetSymbolsDetailed is the same as above but returns an array of symbols with all their details.
func (*HitBTC) GetTickerPrice ¶
GetTickerPrice returns the ticker for a currency pair
func (*HitBTC) GetTradableBalances ¶
GetTradableBalances returns current tradable balances
func (*HitBTC) GetTradeHistoryForAllCurrencies ¶
func (h *HitBTC) GetTradeHistoryForAllCurrencies(start, end string) (AuthenticatedTradeHistoryAll, error)
GetTradeHistoryForAllCurrencies returns your trade history
func (*HitBTC) GetTradeHistoryForCurrency ¶
func (h *HitBTC) GetTradeHistoryForCurrency(currency, start, end string) (AuthenticatedTradeHistoryResponse, error)
GetTradeHistoryForCurrency returns your trade history
func (*HitBTC) GetTrades ¶
func (h *HitBTC) GetTrades(currencyPair, from, till, limit, offset, by, sort string) ([]TradeHistory, error)
GetTrades returns trades from hitbtc
func (*HitBTC) GetWebsocket ¶
GetWebsocket returns a pointer to the exchange websocket
func (*HitBTC) ModifyOrder ¶
func (h *HitBTC) ModifyOrder(action *exchange.ModifyOrder) (string, error)
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*HitBTC) MoveOrder ¶
func (h *HitBTC) MoveOrder(orderID int64, rate, amount float64) (MoveOrderResponse, error)
MoveOrder generates a new move order
func (*HitBTC) PlaceOrder ¶
func (h *HitBTC) PlaceOrder(currency string, rate, amount float64, orderType, side string) (OrderResponse, error)
PlaceOrder places an order on the exchange
func (*HitBTC) SendAuthenticatedHTTPRequest ¶
func (h *HitBTC) SendAuthenticatedHTTPRequest(method, endpoint string, values url.Values, result interface{}) error
SendAuthenticatedHTTPRequest sends an authenticated http request
func (*HitBTC) SendHTTPRequest ¶
SendHTTPRequest sends an unauthenticated HTTP request
func (*HitBTC) SetDefaults ¶
func (h *HitBTC) SetDefaults()
SetDefaults sets default settings for hitbtc
func (*HitBTC) Setup ¶
func (h *HitBTC) Setup(exch *config.ExchangeConfig)
Setup sets user exchange configuration settings
func (*HitBTC) SubmitOrder ¶
func (h *HitBTC) SubmitOrder(p currency.Pair, side exchange.OrderSide, orderType exchange.OrderType, amount, price float64, _ string) (exchange.SubmitOrderResponse, error)
SubmitOrder submits a new order
func (*HitBTC) Subscribe ¶
func (h *HitBTC) Subscribe(channelToSubscribe wshandler.WebsocketChannelSubscription) error
Subscribe sends a websocket message to receive data from the channel
func (*HitBTC) SubscribeToWebsocketChannels ¶
func (h *HitBTC) SubscribeToWebsocketChannels(channels []wshandler.WebsocketChannelSubscription) error
SubscribeToWebsocketChannels appends to ChannelsToSubscribe which lets websocket.manageSubscriptions handle subscribing
func (*HitBTC) TransferBalance ¶
TransferBalance transfers a balance
func (*HitBTC) Unsubscribe ¶
func (h *HitBTC) Unsubscribe(channelToSubscribe wshandler.WebsocketChannelSubscription) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*HitBTC) UnsubscribeToWebsocketChannels ¶
func (h *HitBTC) UnsubscribeToWebsocketChannels(channels []wshandler.WebsocketChannelSubscription) error
UnsubscribeToWebsocketChannels removes from ChannelsToSubscribe which lets websocket.manageSubscriptions handle unsubscribing
func (*HitBTC) UpdateOrderbook ¶
func (h *HitBTC) UpdateOrderbook(currencyPair currency.Pair, assetType string) (orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*HitBTC) UpdateTicker ¶
UpdateTicker updates and returns the ticker for a currency pair
func (*HitBTC) WithdrawCryptocurrencyFunds ¶
func (h *HitBTC) WithdrawCryptocurrencyFunds(withdrawRequest *exchange.WithdrawRequest) (string, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*HitBTC) WithdrawFiatFunds ¶
func (h *HitBTC) WithdrawFiatFunds(withdrawRequest *exchange.WithdrawRequest) (string, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*HitBTC) WithdrawFiatFundsToInternationalBank ¶
func (h *HitBTC) WithdrawFiatFundsToInternationalBank(withdrawRequest *exchange.WithdrawRequest) (string, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
func (*HitBTC) WsProcessOrderbookSnapshot ¶
func (h *HitBTC) WsProcessOrderbookSnapshot(ob WsOrderbook) error
WsProcessOrderbookSnapshot processes a full orderbook snapshot to a local cache
func (*HitBTC) WsProcessOrderbookUpdate ¶
func (h *HitBTC) WsProcessOrderbookUpdate(update WsOrderbook) error
WsProcessOrderbookUpdate updates a local cache
type LendingHistory ¶
type LendingHistory struct { ID int64 `json:"id"` Currency string `json:"currency"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Duration float64 `json:"duration,string"` Interest float64 `json:"interest,string"` Fee float64 `json:"fee,string"` Earned float64 `json:"earned,string"` Open string `json:"open"` Close string `json:"close"` }
LendingHistory contains lending history data
type LoanOffer ¶
type LoanOffer struct { ID int64 `json:"id"` Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` Duration int `json:"duration"` AutoRenew bool `json:"autoRenew,int"` Date string `json:"date"` }
LoanOffer holds information about your loan offers
type LoanOrder ¶
type LoanOrder struct { Rate float64 `json:"rate,string"` Amount float64 `json:"amount,string"` RangeMin int `json:"rangeMin"` RangeMax int `json:"rangeMax"` }
LoanOrder contains information about your loans
type LoanOrders ¶
LoanOrders holds information on the full range of loan orders
type Margin ¶
type Margin struct { TotalValue float64 `json:"totalValue,string"` ProfitLoss float64 `json:"pl,string"` LendingFees float64 `json:"lendingFees,string"` NetValue float64 `json:"netValue,string"` BorrowedValue float64 `json:"totalBorrowedValue,string"` CurrentMargin float64 `json:"currentMargin,string"` }
Margin holds full margin information
type MarginPosition ¶
type MarginPosition struct { Amount float64 `json:"amount,string"` Total float64 `json:"total,string"` BasePrice float64 `json:"basePrice,string"` LiquidiationPrice float64 `json:"liquidiationPrice"` ProfitLoss float64 `json:"pl,string"` LendingFees float64 `json:"lendingFees,string"` Type string `json:"type"` }
MarginPosition holds information about your current margin position
type MoveOrderResponse ¶
type MoveOrderResponse struct { Success int `json:"success"` Error string `json:"error"` OrderNumber int64 `json:"orderNumber,string"` Trades map[string][]ResultingTrades `json:"resultingTrades"` }
MoveOrderResponse holds information about a move order
type OpenOrdersResponse ¶
type OpenOrdersResponse struct {
Data []Order
}
OpenOrdersResponse contains open order information
type OpenOrdersResponseAll ¶
OpenOrdersResponseAll holds the full open order response
type Order ¶
type Order struct { ID int64 `json:"id,string"` // Unique identifier for Order as assigned by exchange ClientOrderID string `json:"clientOrderId"` // Unique identifier for Order as assigned by trader. Uniqueness must be // guaranteed within a single trading day, including all active orders. Symbol string `json:"symbol"` // Trading symbol Side string `json:"side"` // sell buy Status string `json:"status"` // new, suspended, partiallyFilled, filled, canceled, expired Type string `json:"type"` // Enum: limit, market, stopLimit, stopMarket TimeInForce string `json:"timeInForce"` // Time in force is a special instruction used when placing a trade to // indicate how long an order will remain active before it is executed or expires // GTC - Good till cancel. GTC order won't close until it is filled. // IOC - An immediate or cancel order is an order to buy or sell that must be executed immediately, and any portion // of the order that cannot be immediately filled is cancelled. // FOK - Fill or kill is a type of time-in-force designation used in securities trading that instructs a brokerage // to execute a transaction immediately and completely or not at all. // Day - keeps the order active until the end of the trading day in UTC. // GTD - Good till date specified in expireTime. Quantity float64 `json:"quantity,string"` // Order quantity Price float64 `json:"price,string"` // Order price CumQuantity float64 `json:"cumQuantity,string"` // Cumulative executed quantity CreatedAt time.Time `json:"createdAt,string"` UpdatedAt time.Time `json:"updatedAt,string"` StopPrice float64 `json:"stopPrice,string"` ExpireTime time.Time `json:"expireTime,string"` }
Order contains information about an order
type OrderHistoryResponse ¶
type OrderHistoryResponse struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId"` Symbol string `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` PostOnly bool `json:"postOnly"` CumQuantity float64 `json:"cumQuantity,string"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` }
OrderHistoryResponse used for GetOrderHistory
type OrderResponse ¶
type OrderResponse struct { OrderNumber int64 `json:"orderNumber,string"` Trades []ResultingTrades `json:"resultingTrades"` }
OrderResponse holds the order response information
type Orderbook ¶
type Orderbook struct { Asks []OrderbookItem `json:"asks"` Bids []OrderbookItem `json:"bids"` }
Orderbook contains orderbook data
type OrderbookItem ¶
type OrderbookItem struct { Price float64 `json:"price,string"` // Price level Amount float64 `json:"size,string"` // Total volume of orders with the specified price }
OrderbookItem is a sub type for orderbook response
type OrderbookResponse ¶
type OrderbookResponse struct { Asks []OrderbookItem `json:"ask"` // Ask side array of levels Bids []OrderbookItem `json:"bid"` // Bid side array of levels }
OrderbookResponse is the full orderbook response
type ResponseError ¶
ResponseError contains error codes from JSON responses
type ResultingTrades ¶
type ResultingTrades struct { Amount float64 `json:"amount,string"` Date string `json:"date"` Rate float64 `json:"rate,string"` Total float64 `json:"total,string"` TradeID int64 `json:"tradeID,string"` Type string `json:"type"` }
ResultingTrades holds resulting trade information
type Symbol ¶
type Symbol struct { ID string `json:"id"` // Symbol identifier. In the future, the description will simply use the symbol BaseCurrency string `json:"baseCurrency"` QuoteCurrency string `json:"quoteCurrency"` QuantityIncrement float64 `json:"quantityIncrement,string"` TickSize float64 `json:"tickSize,string"` TakeLiquidityRate float64 `json:"takeLiquidityRate,string"` // Default fee rate ProvideLiquidityRate float64 `json:"provideLiquidityRate,string"` // Default fee rate for market making trades FeeCurrency string `json:"feeCurrency"` // Default fee rate for market making trades }
Symbol holds symbol data
type Ticker ¶
type Ticker struct { Last float64 Ask float64 Bid float64 Timestamp time.Time Volume float64 VolumeQuote float64 Symbol string High float64 Low float64 Open float64 }
Ticker holds ticker information
type TickerResponse ¶
type TickerResponse struct { Last string `json:"last"` // Last trade price Ask string `json:"ask"` // Best ask price Bid string `json:"bid"` // Best bid price Timestamp time.Time `json:"timestamp,string"` // Last update or refresh ticker timestamp Volume string `json:"volume"` // Total trading amount within 24 hours in base currency VolumeQuote string `json:"volumeQuote"` // Total trading amount within 24 hours in quote currency Symbol string `json:"symbol"` High string `json:"high"` // Highest trade price within 24 hours Low string `json:"low"` // Lowest trade price within 24 hours Open string `json:"open"` // Last trade price 24 hours ago }
TickerResponse is the response type
type TradeHistory ¶
type TradeHistory struct { ID int64 `json:"id"` // Trade id Timestamp string `json:"timestamp"` // Trade timestamp Side string `json:"side"` // Trade side sell or buy Price float64 `json:"price,string"` // Trade price Quantity float64 `json:"quantity,string"` // Trade quantity }
TradeHistory contains trade history data
type WsActiveOrdersResponse ¶
type WsActiveOrdersResponse struct { Params []WsActiveOrdersResponseData `json:"params"` Error ResponseError `json:"error,omitempty"` }
WsActiveOrdersResponse Active order response for auth subscription to reports
type WsActiveOrdersResponseData ¶
type WsActiveOrdersResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` }
WsActiveOrdersResponseData Active order data for WsActiveOrdersResponse
type WsCancelOrderRequest ¶
type WsCancelOrderRequest struct { Method string `json:"method"` Params WsCancelOrderRequestData `json:"params"` ID int64 `json:"id"` }
WsCancelOrderRequest WS request
type WsCancelOrderRequestData ¶
type WsCancelOrderRequestData struct {
ClientOrderID string `json:"clientOrderId"`
}
WsCancelOrderRequestData WS request data
type WsCancelOrderResponse ¶
type WsCancelOrderResponse struct { Result WsCancelOrderResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsCancelOrderResponse WS response
type WsCancelOrderResponseData ¶
type WsCancelOrderResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` }
WsCancelOrderResponseData WS response data
type WsGetActiveOrdersResponse ¶
type WsGetActiveOrdersResponse struct { Result []WsGetActiveOrdersResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsGetActiveOrdersResponse WS response
type WsGetActiveOrdersResponseData ¶
type WsGetActiveOrdersResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` OriginalRequestClientOrderID string `json:"originalRequestClientOrderId"` }
WsGetActiveOrdersResponseData WS response data
type WsGetCurrenciesRequest ¶
type WsGetCurrenciesRequest struct { Method string `json:"method"` Params WsGetCurrenciesRequestParameters `json:"params"` ID int64 `json:"id"` }
WsGetCurrenciesRequest gets currencies
type WsGetCurrenciesRequestParameters ¶
WsGetCurrenciesRequestParameters parameters
type WsGetCurrenciesResponse ¶
type WsGetCurrenciesResponse struct { Result WsGetCurrenciesResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsGetCurrenciesResponse currency response
type WsGetCurrenciesResponseData ¶
type WsGetCurrenciesResponseData struct { ID currency.Code `json:"id"` FullName string `json:"fullName"` Crypto bool `json:"crypto"` PayinEnabled bool `json:"payinEnabled"` PayinPaymentID bool `json:"payinPaymentId"` PayinConfirmations int64 `json:"payinConfirmations"` PayoutEnabled bool `json:"payoutEnabled"` PayoutIsPaymentID bool `json:"payoutIsPaymentId"` TransferEnabled bool `json:"transferEnabled"` Delisted bool `json:"delisted"` PayoutFee string `json:"payoutFee"` }
WsGetCurrenciesResponseData currency response data
type WsGetSymbolsRequest ¶
type WsGetSymbolsRequest struct { Method string `json:"method"` Params WsGetSymbolsRequestParameters `json:"params"` ID int64 `json:"id"` }
WsGetSymbolsRequest request data
type WsGetSymbolsRequestParameters ¶
WsGetSymbolsRequestParameters request parameters
type WsGetSymbolsResponse ¶
type WsGetSymbolsResponse struct { Result WsGetSymbolsResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsGetSymbolsResponse symbol response
type WsGetSymbolsResponseData ¶
type WsGetSymbolsResponseData struct { ID currency.Pair `json:"id"` BaseCurrency currency.Code `json:"baseCurrency"` QuoteCurrency currency.Code `json:"quoteCurrency"` QuantityIncrement float64 `json:"quantityIncrement,string"` TickSize float64 `json:"tickSize,string"` TakeLiquidityRate float64 `json:"takeLiquidityRate,string"` ProvideLiquidityRate float64 `json:"provideLiquidityRate,string"` FeeCurrency currency.Code `json:"feeCurrency"` }
WsGetSymbolsResponseData symbol response data
type WsGetTradesRequest ¶
type WsGetTradesRequest struct { Method string `json:"method"` Params WsGetTradesRequestParameters `json:"params"` ID int64 `json:"id"` }
WsGetTradesRequest trade request
type WsGetTradesRequestParameters ¶
type WsGetTradesRequestParameters struct { Symbol currency.Pair `json:"symbol"` Limit int64 `json:"limit"` Sort string `json:"sort"` By string `json:"by"` }
WsGetTradesRequestParameters trade request params
type WsGetTradesResponse ¶
type WsGetTradesResponse struct { Jsonrpc string `json:"jsonrpc"` Result WsGetTradesResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsGetTradesResponse response
type WsGetTradesResponseData ¶
type WsGetTradesResponseData struct { Data []WsGetTradesResponseTrades `json:"data"` Symbol string `json:"symbol"` }
WsGetTradesResponseData trade response data
type WsGetTradesResponseTrades ¶
type WsGetTradesResponseTrades struct { ID int64 `json:"id"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` Side string `json:"side"` Timestamp time.Time `json:"timestamp"` }
WsGetTradesResponseTrades trade response
type WsGetTradingBalanceResponse ¶
type WsGetTradingBalanceResponse struct { Result []WsGetTradingBalanceResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsGetTradingBalanceResponse WS response
type WsGetTradingBalanceResponseData ¶
type WsGetTradingBalanceResponseData struct { Currency currency.Code `json:"currency"` Available float64 `json:"available,string"` Reserved float64 `json:"reserved,string"` }
WsGetTradingBalanceResponseData WS response data
type WsLoginData ¶
type WsLoginData struct { Algo string `json:"algo"` PKey string `json:"pKey"` Nonce string `json:"nonce"` Signature string `json:"signature"` }
WsLoginData sets credentials for WsLoginRequest
type WsLoginRequest ¶
type WsLoginRequest struct { Method string `json:"method"` Params WsLoginData `json:"params"` }
WsLoginRequest defines login requirements for ws
type WsNotification ¶
type WsNotification struct { JSONRPCVersion string `json:"jsonrpc,omitempty"` Method string `json:"method"` Params interface{} `json:"params"` }
WsNotification defines a notification obj for the JSON-RPC this does not get a websocket response
type WsOrderbook ¶
type WsOrderbook struct { Params struct { Ask []struct { Price float64 `json:"price,string"` Size float64 `json:"size,string"` } `json:"ask"` Bid []struct { Price float64 `json:"price,string"` Size float64 `json:"size,string"` } `json:"bid"` Symbol string `json:"symbol"` Sequence int64 `json:"sequence"` } `json:"params"` }
WsOrderbook defines websocket orderbook feed return params
type WsReplaceOrderRequest ¶
type WsReplaceOrderRequest struct { Method string `json:"method"` Params WsReplaceOrderRequestData `json:"params"` ID int64 `json:"id,omitempty"` }
WsReplaceOrderRequest WS request
type WsReplaceOrderRequestData ¶
type WsReplaceOrderRequestData struct { ClientOrderID string `json:"clientOrderId,omitempty"` RequestClientID string `json:"requestClientId,omitempty"` Quantity float64 `json:"quantity,string,omitempty"` Price float64 `json:"price,string,omitempty"` }
WsReplaceOrderRequestData WS request data
type WsReplaceOrderResponse ¶
type WsReplaceOrderResponse struct { Result WsReplaceOrderResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsReplaceOrderResponse WS response
type WsReplaceOrderResponseData ¶
type WsReplaceOrderResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` OriginalRequestClientOrderID string `json:"originalRequestClientOrderId"` }
WsReplaceOrderResponseData WS response data
type WsReportResponse ¶
type WsReportResponse struct { Params WsReportResponseData `json:"params"` Error ResponseError `json:"error,omitempty"` }
WsReportResponse report response for auth subscription to reports
type WsReportResponseData ¶
type WsReportResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` TradeQuantity float64 `json:"tradeQuantity,string"` TradePrice float64 `json:"tradePrice,string"` TradeID int64 `json:"tradeId"` TradeFee float64 `json:"tradeFee,string"` }
WsReportResponseData Report data for WsReportResponse
type WsRequest ¶
type WsRequest struct { Method string `json:"method"` Params interface{} `json:"params,omitempty"` ID interface{} `json:"id"` }
WsRequest defines a request obj for the JSON-RPC and gets a websocket response
type WsSubmitOrderErrorResponse ¶
type WsSubmitOrderErrorResponse struct { Error WsSubmitOrderErrorResponseData `json:"error,omitempty"` ID int64 `json:"id"` }
WsSubmitOrderErrorResponse WS error response
type WsSubmitOrderErrorResponseData ¶
type WsSubmitOrderErrorResponseData struct { Code int64 `json:"code"` Message string `json:"message"` Description string `json:"description"` }
WsSubmitOrderErrorResponseData WS error response data
type WsSubmitOrderRequest ¶
type WsSubmitOrderRequest struct { Method string `json:"method"` Params WsSubmitOrderRequestData `json:"params"` ID int64 `json:"id"` }
WsSubmitOrderRequest WS request
type WsSubmitOrderRequestData ¶
type WsSubmitOrderRequestData struct { ClientOrderID int64 `json:"clientOrderId,string,omitempty"` Symbol currency.Pair `json:"symbol"` Side string `json:"side"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` }
WsSubmitOrderRequestData WS request data
type WsSubmitOrderSuccessResponse ¶
type WsSubmitOrderSuccessResponse struct { Result WsSubmitOrderSuccessResponseData `json:"result"` ID int64 `json:"id"` Error ResponseError `json:"error,omitempty"` }
WsSubmitOrderSuccessResponse WS response
type WsSubmitOrderSuccessResponseData ¶
type WsSubmitOrderSuccessResponseData struct { ID string `json:"id"` ClientOrderID string `json:"clientOrderId"` Symbol string `json:"symbol"` Side string `json:"side"` Status string `json:"status"` Type string `json:"type"` TimeInForce string `json:"timeInForce"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` CumQuantity float64 `json:"cumQuantity,string"` PostOnly bool `json:"postOnly"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` ReportType string `json:"reportType"` }
WsSubmitOrderSuccessResponseData WS response data
type WsTicker ¶
type WsTicker struct { Params struct { Ask float64 `json:"ask,string"` Bid float64 `json:"bid,string"` Last float64 `json:"last,string"` Open float64 `json:"open,string"` Low float64 `json:"low,string"` High float64 `json:"high,string"` Volume float64 `json:"volume,string"` VolumeQuote float64 `json:"volumeQuote,string"` Timestamp string `json:"timestamp"` Symbol string `json:"symbol"` } `json:"params"` }
WsTicker defines websocket ticker feed return params
type WsTrade ¶
type WsTrade struct { Params struct { Data []struct { ID int64 `json:"id"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` Side string `json:"side"` Timestamp string `json:"timestamp"` } `json:"data"` Symbol string `json:"symbol"` } `json:"params"` }
WsTrade defines websocket trade feed return params