Documentation
¶
Index ¶
- type COINUT
- func (c *COINUT) AuthenticateWebsocket(ctx context.Context) error
- func (c *COINUT) CancelAllOrders(ctx context.Context, details *order.Cancel) (order.CancelAllResponse, error)
- func (c *COINUT) CancelBatchOrders(ctx context.Context, o []order.Cancel) (*order.CancelBatchResponse, error)
- func (c *COINUT) CancelExistingOrder(ctx context.Context, instrumentID, orderID int64) (bool, error)
- func (c *COINUT) CancelOrder(ctx context.Context, o *order.Cancel) error
- func (c *COINUT) CancelOrders(ctx context.Context, orders []CancelOrders) (CancelOrdersResponse, error)
- func (c *COINUT) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (c *COINUT) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (c *COINUT) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (c *COINUT) FetchTradablePairs(ctx context.Context, _ asset.Item) (currency.Pairs, error)
- func (c *COINUT) GenerateDefaultSubscriptions() ([]subscription.Subscription, error)
- func (c *COINUT) GetAccountFundingHistory(_ context.Context) ([]exchange.FundingHistory, error)
- func (c *COINUT) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
- func (c *COINUT) GetCurrencyTradeURL(_ context.Context, a asset.Item, cp currency.Pair) (string, error)
- func (c *COINUT) GetDepositAddress(_ context.Context, _ currency.Code, _, _ string) (*deposit.Address, error)
- func (c *COINUT) GetDerivativeInstruments(ctx context.Context, secType string) (interface{}, error)
- func (c *COINUT) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (c *COINUT) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (c *COINUT) GetFuturesContractDetails(context.Context, asset.Item) ([]futures.Contract, error)
- func (c *COINUT) GetHistoricCandles(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, ...) (*kline.Item, error)
- func (c *COINUT) GetHistoricCandlesExtended(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, ...) (*kline.Item, error)
- func (c *COINUT) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
- func (c *COINUT) GetIndexTicker(ctx context.Context, asset string) (IndexTicker, error)
- func (c *COINUT) GetInstrumentOrderbook(ctx context.Context, instrumentID, limit int64) (*Orderbook, error)
- func (c *COINUT) GetInstrumentTicker(ctx context.Context, instrumentID int64) (Ticker, error)
- func (c *COINUT) GetInstruments(ctx context.Context) (Instruments, error)
- func (c *COINUT) GetLatestFundingRates(context.Context, *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, error)
- func (c *COINUT) GetOpenOrders(ctx context.Context, instrumentID int64) (GetOpenOrdersResponse, error)
- func (c *COINUT) GetOpenPositionsForInstrument(ctx context.Context, instrumentID int) ([]OpenPosition, error)
- func (c *COINUT) GetOptionChain(ctx context.Context, asset, secType string) (OptionChainResponse, error)
- func (c *COINUT) GetOrderHistory(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
- func (c *COINUT) GetOrderInfo(_ context.Context, _ string, _ currency.Pair, _ asset.Item) (*order.Detail, error)
- func (c *COINUT) GetPositionHistory(ctx context.Context, secType string, start, limit int) (PositionHistory, error)
- func (c *COINUT) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
- func (c *COINUT) GetServerTime(_ context.Context, _ asset.Item) (time.Time, error)
- func (c *COINUT) GetTradeHistory(ctx context.Context, instrumentID, start, limit int64) (TradeHistory, error)
- func (c *COINUT) GetTrades(ctx context.Context, instrumentID int64) (Trades, error)
- func (c *COINUT) GetUserBalance(ctx context.Context) (*UserBalance, error)
- func (c *COINUT) GetWithdrawalsHistory(_ context.Context, _ currency.Code, _ asset.Item) ([]exchange.WithdrawalHistory, error)
- func (c *COINUT) ModifyOrder(_ context.Context, _ *order.Modify) (*order.ModifyResponse, error)
- func (c *COINUT) NewOrder(ctx context.Context, instrumentID int64, quantity, price float64, buy bool, ...) (interface{}, error)
- func (c *COINUT) NewOrders(ctx context.Context, orders []Order) ([]OrdersBase, error)
- func (c *COINUT) SeedInstruments(ctx context.Context) error
- func (c *COINUT) SendHTTPRequest(ctx context.Context, ep exchange.URL, apiRequest string, ...) (err error)
- func (c *COINUT) SetDefaults()
- func (c *COINUT) Setup(exch *config.Exchange) error
- func (c *COINUT) SubmitOrder(ctx context.Context, o *order.Submit) (*order.SubmitResponse, error)
- func (c *COINUT) SubmitOrders(ctx context.Context, ss ...*order.Submit) ([]*order.SubmitResponse, error)
- func (c *COINUT) Subscribe(channelsToSubscribe []subscription.Subscription) error
- func (c *COINUT) Unsubscribe(channelToUnsubscribe []subscription.Subscription) error
- func (c *COINUT) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (c *COINUT) UpdateOrderExecutionLimits(_ context.Context, _ asset.Item) error
- func (c *COINUT) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (c *COINUT) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
- func (c *COINUT) UpdateTickers(_ context.Context, _ asset.Item) error
- func (c *COINUT) UpdateTradablePairs(ctx context.Context, forceUpdate bool) error
- func (c *COINUT) ValidateAPICredentials(ctx context.Context, assetType asset.Item) error
- func (c *COINUT) WithdrawCryptocurrencyFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (c *COINUT) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (c *COINUT) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (c *COINUT) WsConnect() error
- func (c *COINUT) WsGetInstruments() (Instruments, error)
- func (c *COINUT) WsProcessOrderbookSnapshot(ob *WsOrderbookSnapshot) error
- func (c *COINUT) WsProcessOrderbookUpdate(update *WsOrderbookUpdate) error
- type CancelOrders
- type CancelOrdersResponse
- type Commission
- type GenericResponse
- type GetOpenOrdersResponse
- type IndexTicker
- type InstrumentBase
- type Instruments
- type OpenPosition
- type Option
- type OptionChainResponse
- type OptionChainUpdate
- type Order
- type OrderFilledResponse
- type OrderRejectResponse
- type OrderResponse
- type Orderbook
- type OrderbookBase
- type OrdersBase
- type OrdersResponse
- type PositionHistory
- type Ticker
- type TradeBase
- type TradeHistory
- type Trades
- type UserBalance
- type WsCancelOrderParameters
- type WsCancelOrderRequest
- type WsCancelOrderResponse
- type WsCancelOrdersRequest
- type WsCancelOrdersRequestEntry
- type WsCancelOrdersResponse
- type WsCancelOrdersResponseData
- type WsGetAccountBalanceResponse
- type WsGetOpenOrdersRequest
- type WsInstrumentList
- type WsLoginReq
- type WsLoginResponse
- type WsNewOrderResponse
- type WsOrderAcceptedResponse
- type WsOrderData
- type WsOrderFilledCommissionData
- type WsOrderFilledResponse
- type WsOrderRejectedResponse
- type WsOrderbookData
- type WsOrderbookSnapshot
- type WsOrderbookUpdate
- type WsRequest
- type WsSubmitOrderParameters
- type WsSubmitOrderRequest
- type WsSubmitOrdersRequest
- type WsSubmitOrdersRequestData
- type WsSupportedCurrency
- type WsTicker
- type WsTradeData
- type WsTradeHistoryCommissionData
- type WsTradeHistoryRequest
- type WsTradeHistoryResponse
- type WsTradeHistoryTradeData
- type WsTradeSnapshot
- type WsTradeUpdate
- type WsUserBalanceResponse
- type WsUserOpenOrdersResponse
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type COINUT ¶
COINUT is the overarching type across the coinut package
func (*COINUT) AuthenticateWebsocket ¶
AuthenticateWebsocket sends an authentication message to the websocket
func (*COINUT) CancelAllOrders ¶
func (c *COINUT) CancelAllOrders(ctx context.Context, details *order.Cancel) (order.CancelAllResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*COINUT) CancelBatchOrders ¶
func (c *COINUT) CancelBatchOrders(ctx context.Context, o []order.Cancel) (*order.CancelBatchResponse, error)
CancelBatchOrders cancels an orders by their corresponding ID numbers
func (*COINUT) CancelExistingOrder ¶
func (c *COINUT) CancelExistingOrder(ctx context.Context, instrumentID, orderID int64) (bool, error)
CancelExistingOrder cancels a specific order and returns if it was actioned
func (*COINUT) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*COINUT) CancelOrders ¶
func (c *COINUT) CancelOrders(ctx context.Context, orders []CancelOrders) (CancelOrdersResponse, error)
CancelOrders cancels multiple orders
func (*COINUT) FetchAccountInfo ¶
func (c *COINUT) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
FetchAccountInfo retrieves balances for all enabled currencies
func (*COINUT) FetchOrderbook ¶
func (c *COINUT) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
FetchOrderbook returns orderbook base on the currency pair
func (*COINUT) FetchTicker ¶
func (c *COINUT) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
FetchTicker returns the ticker for a currency pair
func (*COINUT) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*COINUT) GenerateDefaultSubscriptions ¶
func (c *COINUT) GenerateDefaultSubscriptions() ([]subscription.Subscription, error)
GenerateDefaultSubscriptions Adds default subscriptions to websocket to be handled by ManageSubscriptions()
func (*COINUT) GetAccountFundingHistory ¶
GetAccountFundingHistory returns funding history, deposits and withdrawals
func (*COINUT) GetActiveOrders ¶
func (c *COINUT) GetActiveOrders(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
GetActiveOrders retrieves any orders that are active/open
func (*COINUT) GetCurrencyTradeURL ¶
func (c *COINUT) 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 (*COINUT) GetDepositAddress ¶
func (c *COINUT) GetDepositAddress(_ context.Context, _ currency.Code, _, _ string) (*deposit.Address, error)
GetDepositAddress returns a deposit address for a specified currency
func (*COINUT) GetDerivativeInstruments ¶
GetDerivativeInstruments returns a list of derivative instruments
func (*COINUT) GetFee ¶
func (c *COINUT) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFee returns an estimate of fee based on type of transaction
func (*COINUT) GetFeeByType ¶
func (c *COINUT) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
GetFeeByType returns an estimate of fee based on type of transaction
func (*COINUT) GetFuturesContractDetails ¶
GetFuturesContractDetails returns all contracts from the exchange by asset type
func (*COINUT) GetHistoricCandles ¶
func (c *COINUT) GetHistoricCandles(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, _, _ time.Time) (*kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*COINUT) GetHistoricCandlesExtended ¶
func (c *COINUT) GetHistoricCandlesExtended(_ context.Context, _ currency.Pair, _ asset.Item, _ kline.Interval, _, _ time.Time) (*kline.Item, error)
GetHistoricCandlesExtended returns candles between a time period for a set time interval
func (*COINUT) GetHistoricTrades ¶
func (c *COINUT) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
GetHistoricTrades returns historic trade data within the timeframe provided
func (*COINUT) GetIndexTicker ¶
GetIndexTicker returns the index ticker for an asset
func (*COINUT) GetInstrumentOrderbook ¶
func (c *COINUT) GetInstrumentOrderbook(ctx context.Context, instrumentID, limit int64) (*Orderbook, error)
GetInstrumentOrderbook returns the orderbooks for a specific instrument
func (*COINUT) GetInstrumentTicker ¶
GetInstrumentTicker returns a ticker for a specific instrument
func (*COINUT) GetInstruments ¶
func (c *COINUT) GetInstruments(ctx context.Context) (Instruments, error)
GetInstruments returns instruments
func (*COINUT) GetLatestFundingRates ¶
func (c *COINUT) GetLatestFundingRates(context.Context, *fundingrate.LatestRateRequest) ([]fundingrate.LatestRateResponse, error)
GetLatestFundingRates returns the latest funding rates data
func (*COINUT) GetOpenOrders ¶
func (c *COINUT) GetOpenOrders(ctx context.Context, instrumentID int64) (GetOpenOrdersResponse, error)
GetOpenOrders returns a list of open order and relevant information
func (*COINUT) GetOpenPositionsForInstrument ¶
func (c *COINUT) GetOpenPositionsForInstrument(ctx context.Context, instrumentID int) ([]OpenPosition, error)
GetOpenPositionsForInstrument returns all your current opened positions
func (*COINUT) GetOptionChain ¶
func (c *COINUT) GetOptionChain(ctx context.Context, asset, secType string) (OptionChainResponse, error)
GetOptionChain returns option chain
func (*COINUT) GetOrderHistory ¶
func (c *COINUT) GetOrderHistory(ctx context.Context, req *order.MultiOrderRequest) (order.FilteredOrders, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*COINUT) GetOrderInfo ¶
func (c *COINUT) GetOrderInfo(_ context.Context, _ string, _ currency.Pair, _ asset.Item) (*order.Detail, error)
GetOrderInfo returns order information based on order ID
func (*COINUT) GetPositionHistory ¶
func (c *COINUT) GetPositionHistory(ctx context.Context, secType string, start, limit int) (PositionHistory, error)
GetPositionHistory returns position history
func (*COINUT) GetRecentTrades ¶
func (c *COINUT) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
GetRecentTrades returns the most recent trades for a currency and asset
func (*COINUT) GetServerTime ¶
GetServerTime returns the current exchange server time.
func (*COINUT) GetTradeHistory ¶
func (c *COINUT) GetTradeHistory(ctx context.Context, instrumentID, start, limit int64) (TradeHistory, error)
GetTradeHistory returns trade history for a specific instrument.
func (*COINUT) GetUserBalance ¶
func (c *COINUT) GetUserBalance(ctx context.Context) (*UserBalance, error)
GetUserBalance returns the full user balance
func (*COINUT) GetWithdrawalsHistory ¶
func (c *COINUT) GetWithdrawalsHistory(_ context.Context, _ currency.Code, _ asset.Item) ([]exchange.WithdrawalHistory, error)
GetWithdrawalsHistory returns previous withdrawals data
func (*COINUT) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*COINUT) NewOrder ¶
func (c *COINUT) NewOrder(ctx context.Context, instrumentID int64, quantity, price float64, buy bool, orderID uint32) (interface{}, error)
NewOrder places a new order on the exchange
func (*COINUT) SeedInstruments ¶
SeedInstruments seeds the instrument map
func (*COINUT) SendHTTPRequest ¶
func (c *COINUT) SendHTTPRequest(ctx context.Context, ep exchange.URL, apiRequest string, params map[string]interface{}, authenticated bool, result interface{}) (err error)
SendHTTPRequest sends either an authenticated or unauthenticated HTTP request
func (*COINUT) SubmitOrder ¶
SubmitOrder submits a new order
func (*COINUT) SubmitOrders ¶ added in v1.0.7
func (*COINUT) Subscribe ¶
func (c *COINUT) Subscribe(channelsToSubscribe []subscription.Subscription) error
Subscribe sends a websocket message to receive data from the channel
func (*COINUT) Unsubscribe ¶
func (c *COINUT) Unsubscribe(channelToUnsubscribe []subscription.Subscription) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*COINUT) UpdateAccountInfo ¶
func (c *COINUT) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
UpdateAccountInfo retrieves balances for all enabled currencies for the COINUT exchange
func (*COINUT) UpdateOrderExecutionLimits ¶
UpdateOrderExecutionLimits updates order execution limits
func (*COINUT) UpdateOrderbook ¶
func (c *COINUT) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*COINUT) UpdateTicker ¶
func (c *COINUT) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker updates and returns the ticker for a currency pair
func (*COINUT) UpdateTickers ¶
UpdateTickers updates the ticker for all currency pairs of a given asset type
func (*COINUT) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*COINUT) ValidateAPICredentials ¶
ValidateAPICredentials validates current credentials used for wrapper functionality
func (*COINUT) WithdrawCryptocurrencyFunds ¶
func (c *COINUT) WithdrawCryptocurrencyFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*COINUT) WithdrawFiatFunds ¶
func (c *COINUT) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*COINUT) WithdrawFiatFundsToInternationalBank ¶
func (c *COINUT) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
func (*COINUT) WsGetInstruments ¶
func (c *COINUT) WsGetInstruments() (Instruments, error)
WsGetInstruments fetches instrument list and propagates a local cache
func (*COINUT) WsProcessOrderbookSnapshot ¶
func (c *COINUT) WsProcessOrderbookSnapshot(ob *WsOrderbookSnapshot) error
WsProcessOrderbookSnapshot processes the orderbook snapshot
func (*COINUT) WsProcessOrderbookUpdate ¶
func (c *COINUT) WsProcessOrderbookUpdate(update *WsOrderbookUpdate) error
WsProcessOrderbookUpdate process an orderbook update
type CancelOrders ¶
CancelOrders holds information about a cancelled order
type CancelOrdersResponse ¶
type CancelOrdersResponse struct {
GenericResponse
Results []struct {
OrderID int64 `json:"order_id"`
Status string `json:"status"`
InstrumentID int64 `json:"inst_id"`
} `json:"results"`
}
CancelOrdersResponse is response for a cancelled order
type Commission ¶
Commission holds trade commission structure
type GenericResponse ¶
type GenericResponse struct {
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
TransactionID int64 `json:"trans_id"`
}
GenericResponse is the generic response you will get from coinut
type GetOpenOrdersResponse ¶
type GetOpenOrdersResponse struct {
Nonce int `json:"nonce"`
Orders []OrderResponse `json:"orders"`
Reply string `json:"reply"`
Status []string `json:"status"`
TransactionID int `json:"trans_id"`
}
GetOpenOrdersResponse holds all order data from GetOpenOrders request
type IndexTicker ¶
IndexTicker holds indexed ticker information
type InstrumentBase ¶
type InstrumentBase struct {
Base string `json:"base"`
DecimalPlaces int `json:"decimal_places"`
InstrumentID int64 `json:"inst_id"`
Quote string `json:"quote"`
}
InstrumentBase holds information on base currency
type Instruments ¶
type Instruments struct {
Instruments map[string][]InstrumentBase `json:"SPOT"`
}
Instruments holds the full information on base currencies
type OpenPosition ¶
type OpenPosition struct {
PositionID int `json:"position_id"`
Commission Commission `json:"commission"`
OpenPrice float64 `json:"open_price,string"`
RealizedPL float64 `json:"realized_pl,string"`
Quantity float64 `json:"qty,string"`
OpenTimestamp int64 `json:"open_timestamp"`
InstrumentID int `json:"inst_id"`
}
OpenPosition holds information on an open position
type Option ¶
type Option struct {
HighestBuy float64 `json:"highest_buy,string"`
InstrumentID int `json:"inst_id"`
Last float64 `json:"last,string"`
LowestSell float64 `json:"lowest_sell,string"`
OpenInterest float64 `json:"open_interest,string"`
}
Option holds options information
type OptionChainResponse ¶
type OptionChainResponse struct {
ExpiryTime int64 `json:"expiry_time"`
SecurityType string `json:"sec_type"`
Asset string `json:"asset"`
Entries []struct {
Call Option `json:"call"`
Put Option `json:"put"`
Strike float64 `json:"strike,string"`
}
}
OptionChainResponse is the response type for options
type OptionChainUpdate ¶
type OptionChainUpdate struct {
Option
GenericResponse
Asset string `json:"asset"`
ExpiryTime int64 `json:"expiry_time"`
SecurityType string `json:"sec_type"`
Volume float64 `json:"volume,string"`
}
OptionChainUpdate contains information on the chain update options
type Order ¶
type Order struct {
InstrumentID int64 `json:"inst_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
ClientOrderID int `json:"client_ord_id"`
Side string `json:"side,string"`
}
Order holds order information
type OrderFilledResponse ¶
type OrderFilledResponse struct {
GenericResponse
Commission Commission `json:"commission"`
FillPrice float64 `json:"fill_price,string"`
FillQuantity float64 `json:"fill_qty,string"`
Order OrderResponse `json:"order"`
}
OrderFilledResponse contains order filled response
type OrderRejectResponse ¶
type OrderRejectResponse struct {
OrderResponse
Reasons []string `json:"reasons"`
}
OrderRejectResponse holds information on a rejected order
type OrderResponse ¶
type OrderResponse struct {
OrderID int64 `json:"order_id"`
OpenQuantity float64 `json:"open_qty,string"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
InstrumentID int64 `json:"inst_id"`
ClientOrderID int64 `json:"client_ord_id"`
Timestamp int64 `json:"timestamp"`
OrderPrice float64 `json:"order_price,string"`
Side string `json:"side"`
}
OrderResponse is a response for orders
type Orderbook ¶
type Orderbook struct {
Buy []OrderbookBase `json:"buy"`
Sell []OrderbookBase `json:"sell"`
InstrumentID int `json:"inst_id"`
TotalBuy float64 `json:"total_buy,string"`
TotalSell float64 `json:"total_sell,string"`
TransactionID int64 `json:"trans_id"`
}
Orderbook is the full order book
type OrderbookBase ¶
type OrderbookBase struct {
Count int `json:"count"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
}
OrderbookBase is a sub-type holding price and quantity
type OrdersBase ¶
type OrdersBase struct {
GenericResponse
OrderResponse
}
OrdersBase contains generic response and order responses
type OrdersResponse ¶
type OrdersResponse struct {
Data []OrdersBase
}
OrdersResponse holds the full data range on orders
type PositionHistory ¶
type PositionHistory struct {
Positions []struct {
PositionID int `json:"position_id"`
Records []struct {
Commission Commission `json:"commission"`
FillPrice float64 `json:"fill_price,string,omitempty"`
TransactionID int `json:"trans_id"`
FillQuantity float64 `json:"fill_qty,omitempty"`
Position struct {
Commission Commission `json:"commission"`
Timestamp int64 `json:"timestamp"`
OpenPrice float64 `json:"open_price,string"`
RealizedPL float64 `json:"realized_pl,string"`
Quantity float64 `json:"qty,string"`
} `json:"position"`
AssetAtExpiry float64 `json:"asset_at_expiry,string,omitempty"`
} `json:"records"`
Instrument struct {
ExpiryTime int64 `json:"expiry_time"`
ContractSize float64 `json:"contract_size,string"`
ConversionRate float64 `json:"conversion_rate,string"`
OptionType string `json:"option_type"`
InstrumentID int `json:"inst_id"`
SecType string `json:"sec_type"`
Asset string `json:"asset"`
Strike float64 `json:"strike,string"`
} `json:"inst"`
OpenTimestamp int64 `json:"open_timestamp"`
} `json:"positions"`
TotalNumber int `json:"total_number"`
}
PositionHistory holds the complete position history
type Ticker ¶
type Ticker struct {
High24 float64 `json:"high24,string"`
HighestBuy float64 `json:"highest_buy,string"`
InstrumentID int `json:"inst_id"`
Last float64 `json:"last,string"`
Low24 float64 `json:"low24,string"`
LowestSell float64 `json:"lowest_sell,string"`
PreviousTransactionID int64 `json:"prev_trans_id"`
PriceChange24 float64 `json:"price_change_24,string"`
Reply string `json:"reply"`
OpenInterest float64 `json:"open_interest,string"`
Timestamp int64 `json:"timestamp"`
TransactionID int64 `json:"trans_id"`
Volume float64 `json:"volume,string"`
Volume24 float64 `json:"volume24,string"`
Volume24Quote float64 `json:"volume24_quote,string"`
VolumeQuote float64 `json:"volume_quote,string"`
}
Ticker holds ticker information
type TradeBase ¶
type TradeBase struct {
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
Side string `json:"side"`
Timestamp int64 `json:"timestamp"`
TransactionID int64 `json:"trans_id"`
}
TradeBase is a sub-type holding information on trades
type TradeHistory ¶
type TradeHistory struct {
TotalNumber int64 `json:"total_number"`
Trades []OrderFilledResponse `json:"trades"`
}
TradeHistory holds trade history information
type Trades ¶
type Trades struct {
Trades []TradeBase `json:"trades"`
}
Trades holds the full amount of trades associated with API keys
type UserBalance ¶
type UserBalance struct {
BCH float64 `json:"BCH,string"`
BTC float64 `json:"BTC,string"`
BTG float64 `json:"BTG,string"`
CAD float64 `json:"CAD,string"`
ETC float64 `json:"ETC,string"`
ETH float64 `json:"ETH,string"`
LCH float64 `json:"LCH,string"`
LTC float64 `json:"LTC,string"`
MYR float64 `json:"MYR,string"`
SGD float64 `json:"SGD,string"`
USD float64 `json:"USD,string"`
USDT float64 `json:"USDT,string"`
XMR float64 `json:"XMR,string"`
ZEC float64 `json:"ZEC,string"`
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
TransID int64 `json:"trans_id"`
}
UserBalance holds user balances on the exchange
type WsCancelOrderParameters ¶
WsCancelOrderParameters ws request parameters
type WsCancelOrderRequest ¶
type WsCancelOrderRequest struct {
InstrumentID int64 `json:"inst_id"`
OrderID int64 `json:"order_id"`
WsRequest
}
WsCancelOrderRequest data required for cancelling an order
type WsCancelOrderResponse ¶
type WsCancelOrderResponse struct {
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
OrderID int64 `json:"order_id"`
ClientOrderID int64 `json:"client_ord_id"`
Status []string `json:"status"`
}
WsCancelOrderResponse contains cancelled order data
type WsCancelOrdersRequest ¶
type WsCancelOrdersRequest struct {
Entries []WsCancelOrdersRequestEntry `json:"entries"`
WsRequest
}
WsCancelOrdersRequest ws request
type WsCancelOrdersRequestEntry ¶
type WsCancelOrdersRequestEntry struct {
InstID int64 `json:"inst_id"`
OrderID int64 `json:"order_id"`
}
WsCancelOrdersRequestEntry ws request entry
type WsCancelOrdersResponse ¶
type WsCancelOrdersResponse struct {
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Results []WsCancelOrdersResponseData `json:"results"`
Status []string `json:"status"`
TransactionID int64 `json:"trans_id"`
}
WsCancelOrdersResponse contains all cancelled order data
type WsCancelOrdersResponseData ¶
type WsCancelOrdersResponseData struct {
InstrumentID int64 `json:"inst_id"`
OrderID int64 `json:"order_id"`
Status string `json:"status"`
}
WsCancelOrdersResponseData individual cancellation response data
type WsGetAccountBalanceResponse ¶
type WsGetAccountBalanceResponse struct {
BCH float64 `json:"BCH,string"`
BTC float64 `json:"BTC,string"`
BTG float64 `json:"BTG,string"`
CAD float64 `json:"CAD,string"`
ETC float64 `json:"ETC,string"`
ETH float64 `json:"ETH,string"`
LCH float64 `json:"LCH,string"`
LTC float64 `json:"LTC,string"`
MYR float64 `json:"MYR,string"`
SGD float64 `json:"SGD,string"`
USD float64 `json:"USD,string"`
USDT float64 `json:"USDT,string"`
XMR float64 `json:"XMR,string"`
ZEC float64 `json:"ZEC,string"`
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
TransID int64 `json:"trans_id"`
}
WsGetAccountBalanceResponse contains values of each currency
type WsGetOpenOrdersRequest ¶
WsGetOpenOrdersRequest ws request
type WsInstrumentList ¶
type WsInstrumentList struct {
Spot map[string][]InstrumentBase `json:"SPOT"`
Nonce int64 `json:"nonce,omitempty"`
Reply string `json:"inst_list,omitempty"`
Status []interface{} `json:"status,omitempty"`
}
WsInstrumentList defines instrument list
type WsLoginReq ¶
type WsLoginReq struct {
Request string `json:"request"`
Username string `json:"username"`
Nonce int64 `json:"nonce"`
Hmac string `json:"hmac_sha256"`
Timestamp int64 `json:"timestamp"`
}
WsLoginReq Login request message
type WsLoginResponse ¶
type WsLoginResponse struct {
APIKey string `json:"api_key"`
Country string `json:"country"`
DepositEnabled bool `json:"deposit_enabled"`
Deposited bool `json:"deposited"`
Email string `json:"email"`
FailedTimes int64 `json:"failed_times"`
KycPassed bool `json:"kyc_passed"`
Language string `json:"lang"`
Nonce int64 `json:"nonce"`
OTPEnabled bool `json:"otp_enabled"`
PhoneNumber string `json:"phone_number"`
ProductsEnabled []string `json:"products_enabled"`
Referred bool `json:"referred"`
Reply string `json:"reply"`
SessionID string `json:"session_id"`
Status []string `json:"status"`
Timezone string `json:"timezone"`
Traded bool `json:"traded"`
UnverifiedEmail string `json:"unverified_email"`
Username string `json:"username"`
WithdrawEnabled bool `json:"withdraw_enabled"`
}
WsLoginResponse ws response data
type WsNewOrderResponse ¶
type WsNewOrderResponse struct {
Message string `json:"msg"`
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
}
WsNewOrderResponse returns if new_order response fails
type WsOrderAcceptedResponse ¶
type WsOrderAcceptedResponse struct {
Nonce int64 `json:"nonce"`
Status []string `json:"status"`
OrderID int64 `json:"order_id"`
OpenQuantity float64 `json:"open_qty,string"`
InstrumentID int64 `json:"inst_id"`
Quantity float64 `json:"qty,string"`
ClientOrderID int64 `json:"client_ord_id"`
OrderPrice float64 `json:"order_price,string"`
Reply string `json:"reply"`
Side string `json:"side"`
TransactionID int64 `json:"trans_id"`
}
WsOrderAcceptedResponse ws response
type WsOrderData ¶
type WsOrderData struct {
ClientOrderID int64 `json:"client_ord_id"`
InstrumentID int64 `json:"inst_id"`
OpenQuantity float64 `json:"open_qty,string"`
OrderID int64 `json:"order_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
Side string `json:"side"`
Timestamp int64 `json:"timestamp"`
Status []string `json:"status"`
}
WsOrderData ws response data
type WsOrderFilledCommissionData ¶
type WsOrderFilledCommissionData struct {
Amount float64 `json:"amount,string"`
Currency string `json:"currency"`
}
WsOrderFilledCommissionData ws response data
type WsOrderFilledResponse ¶
type WsOrderFilledResponse struct {
Commission WsOrderFilledCommissionData `json:"commission"`
FillPrice float64 `json:"fill_price,string"`
FillQuantity float64 `json:"fill_qty,string"`
Nonce int64 `json:"nonce"`
Order WsOrderData `json:"order"`
Reply string `json:"reply"`
Status []string `json:"status"`
Timestamp int64 `json:"timestamp"`
TransactionID int64 `json:"trans_id"`
}
WsOrderFilledResponse ws response
type WsOrderRejectedResponse ¶
type WsOrderRejectedResponse struct {
Nonce int64 `json:"nonce"`
Status []string `json:"status"`
OrderID int64 `json:"order_id"`
OpenQuantity float64 `json:"open_qty,string"`
Price float64 `json:"price,string"`
InstrumentID int64 `json:"inst_id"`
Reasons []string `json:"reasons"`
ClientOrderID int64 `json:"client_ord_id"`
Timestamp int64 `json:"timestamp"`
Reply string `json:"reply"`
Quantity float64 `json:"qty,string"`
Side string `json:"side"`
TransactionID int64 `json:"trans_id"`
}
WsOrderRejectedResponse ws response
type WsOrderbookData ¶
type WsOrderbookData struct {
Count int64 `json:"count"`
Price float64 `json:"price,string"`
Volume float64 `json:"qty,string"`
}
WsOrderbookData defines singular orderbook data
type WsOrderbookSnapshot ¶
type WsOrderbookSnapshot struct {
Buy []WsOrderbookData `json:"buy"`
Sell []WsOrderbookData `json:"sell"`
InstID int64 `json:"inst_id"`
Nonce int64 `json:"nonce"`
TotalBuy float64 `json:"total_buy,string"`
TotalSell float64 `json:"total_sell,string"`
Reply string `json:"reply"`
Status []interface{} `json:"status"`
}
WsOrderbookSnapshot defines the resp for orderbook snapshot updates from the websocket connection
type WsOrderbookUpdate ¶
type WsOrderbookUpdate struct {
Count int64 `json:"count"`
InstID int64 `json:"inst_id"`
Price float64 `json:"price,string"`
Volume float64 `json:"qty,string"`
TotalBuy float64 `json:"total_buy,string"`
Reply string `json:"reply"`
Side string `json:"side"`
TransID int64 `json:"trans_id"`
}
WsOrderbookUpdate defines orderbook update response from the websocket connection
type WsSubmitOrderParameters ¶
type WsSubmitOrderParameters struct {
Currency currency.Pair
Side order.Side
Amount, Price float64
OrderID int64
}
WsSubmitOrderParameters ws request parameters
type WsSubmitOrderRequest ¶
type WsSubmitOrderRequest struct {
InstrumentID int64 `json:"inst_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
OrderID int64 `json:"client_ord_id"`
Side string `json:"side"`
WsRequest
}
WsSubmitOrderRequest ws request
type WsSubmitOrdersRequest ¶
type WsSubmitOrdersRequest struct {
Orders []WsSubmitOrdersRequestData `json:"orders"`
WsRequest
}
WsSubmitOrdersRequest ws request
type WsSubmitOrdersRequestData ¶
type WsSubmitOrdersRequestData struct {
InstrumentID int64 `json:"inst_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
ClientOrderID int `json:"client_ord_id"`
Side string `json:"side"`
}
WsSubmitOrdersRequestData ws request data
type WsSupportedCurrency ¶
type WsSupportedCurrency struct {
Base string `json:"base"`
InstID int64 `json:"inst_id"`
DecimalPlaces int64 `json:"decimal_places"`
Quote string `json:"quote"`
}
WsSupportedCurrency defines supported currency on the exchange
type WsTicker ¶
type WsTicker struct {
High24 float64 `json:"high24,string"`
HighestBuy float64 `json:"highest_buy,string"`
InstID int64 `json:"inst_id"`
Last float64 `json:"last,string"`
Low24 float64 `json:"low24,string"`
LowestSell float64 `json:"lowest_sell,string"`
Nonce int64 `json:"nonce"`
PrevTransID int64 `json:"prev_trans_id"`
PriceChange24 float64 `json:"price_change_24,string"`
Reply string `json:"reply"`
Status []string `json:"status"`
Timestamp int64 `json:"timestamp"`
TransID int64 `json:"trans_id"`
Volume float64 `json:"volume,string"`
Volume24 float64 `json:"volume24,string"`
Volume24Quote float64 `json:"volume24_quote,string"`
VolumeQuote float64 `json:"volume_quote,string"`
}
WsTicker defines the resp for ticker updates from the websocket connection
type WsTradeData ¶
type WsTradeData struct {
InstID int64 `json:"inst_id"`
TransID int64 `json:"trans_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
Side string `json:"side"`
Timestamp int64 `json:"timestamp"`
}
WsTradeData defines market trade data
type WsTradeHistoryCommissionData ¶
type WsTradeHistoryCommissionData struct {
Amount float64 `json:"amount,string"`
Currency string `json:"currency"`
}
WsTradeHistoryCommissionData ws response data
type WsTradeHistoryRequest ¶
type WsTradeHistoryRequest struct {
InstID int64 `json:"inst_id"`
Start int64 `json:"start,omitempty"`
Limit int64 `json:"limit,omitempty"`
WsRequest
}
WsTradeHistoryRequest ws request
type WsTradeHistoryResponse ¶
type WsTradeHistoryResponse struct {
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
TotalNumber int64 `json:"total_number"`
Trades []WsOrderData `json:"trades"`
}
WsTradeHistoryResponse ws response
type WsTradeHistoryTradeData ¶
type WsTradeHistoryTradeData struct {
Commission WsTradeHistoryCommissionData `json:"commission"`
Order WsOrderData `json:"order"`
FillPrice float64 `json:"fill_price,string"`
FillQuantity float64 `json:"fill_qty,string"`
Timestamp int64 `json:"timestamp"`
TransactionID int64 `json:"trans_id"`
}
WsTradeHistoryTradeData ws response data
type WsTradeSnapshot ¶
type WsTradeSnapshot struct {
InstrumentID int64 `json:"inst_id"`
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []interface{} `json:"status"`
Trades []WsTradeData `json:"trades"`
}
WsTradeSnapshot defines Market trade response from the websocket connection
type WsTradeUpdate ¶
type WsTradeUpdate struct {
InstID int64 `json:"inst_id"`
TransID int64 `json:"trans_id"`
Price float64 `json:"price,string"`
Quantity float64 `json:"qty,string"`
Side string `json:"side"`
Timestamp int64 `json:"timestamp"`
Reply string `json:"reply"`
}
WsTradeUpdate defines trade update response from the websocket connection
type WsUserBalanceResponse ¶
type WsUserBalanceResponse struct {
Nonce int64 `json:"nonce"`
Status []string `json:"status"`
Btc float64 `json:"BTC,string"`
Ltc float64 `json:"LTC,string"`
Etc float64 `json:"ETC,string"`
Eth float64 `json:"ETH,string"`
FloatingProfitLoss float64 `json:"floating_pl,string"`
InitialMargin float64 `json:"initial_margin,string"`
RealisedProfitLoss float64 `json:"realized_pl,string"`
MaintenanceMargin float64 `json:"maintenance_margin,string"`
Equity float64 `json:"equity,string"`
Reply string `json:"reply"`
TransactionID int64 `json:"trans_id"`
}
WsUserBalanceResponse ws response
type WsUserOpenOrdersResponse ¶
type WsUserOpenOrdersResponse struct {
Nonce int64 `json:"nonce"`
Reply string `json:"reply"`
Status []string `json:"status"`
Orders []WsOrderData `json:"orders"`
}
WsUserOpenOrdersResponse ws response