Documentation ¶
Index ¶
- Variables
- type AuthResponse
- type CancelledOrder
- type CryptoPaymentProvider
- type EXMO
- func (e *EXMO) CancelAllOrders(ctx context.Context, _ *order.Cancel) (order.CancelAllResponse, error)
- func (e *EXMO) CancelBatchOrders(ctx context.Context, o []order.Cancel) (order.CancelBatchResponse, error)
- func (e *EXMO) CancelExistingOrder(ctx context.Context, orderID int64) error
- func (e *EXMO) CancelOrder(ctx context.Context, o *order.Cancel) error
- func (e *EXMO) CreateOrder(ctx context.Context, pair, orderType string, price, amount float64) (int64, error)
- func (e *EXMO) ExcodeCreate(ctx context.Context, currency string, amount float64) (ExcodeCreate, error)
- func (e *EXMO) ExcodeLoad(ctx context.Context, excode string) (ExcodeLoad, error)
- func (e *EXMO) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (e *EXMO) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (e *EXMO) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (e *EXMO) FetchTradablePairs(ctx context.Context, asset asset.Item) ([]string, error)
- func (e *EXMO) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
- func (e *EXMO) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
- func (e *EXMO) GetCancelledOrders(ctx context.Context, offset, limit string) ([]CancelledOrder, error)
- func (e *EXMO) GetCryptoDepositAddress(ctx context.Context) (map[string]string, error)
- func (e *EXMO) GetCryptoPaymentProvidersList(ctx context.Context) (map[string][]CryptoPaymentProvider, error)
- func (e *EXMO) GetCurrency(ctx context.Context) ([]string, error)
- func (e *EXMO) GetDefaultConfig() (*config.Exchange, error)
- func (e *EXMO) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
- func (e *EXMO) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (e *EXMO) GetFeeByType(ctx context.Context, feeBuilder *exchange.FeeBuilder) (float64, error)
- func (e *EXMO) GetFundingHistory(ctx context.Context) ([]exchange.FundHistory, error)
- func (e *EXMO) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (e *EXMO) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (e *EXMO) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
- func (e *EXMO) GetOpenOrders(ctx context.Context) (map[string]OpenOrders, error)
- func (e *EXMO) GetOrderHistory(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
- func (e *EXMO) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
- func (e *EXMO) GetOrderTrades(ctx context.Context, orderID int64) (OrderTrades, error)
- func (e *EXMO) GetOrderbook(ctx context.Context, symbol string) (map[string]Orderbook, error)
- func (e *EXMO) GetPairSettings(ctx context.Context) (map[string]PairSettings, error)
- func (e *EXMO) GetRecentTrades(ctx context.Context, p currency.Pair, assetType asset.Item) ([]trade.Data, error)
- func (e *EXMO) GetRequiredAmount(ctx context.Context, pair string, amount float64) (RequiredAmount, error)
- func (e *EXMO) GetTicker(ctx context.Context) (map[string]Ticker, error)
- func (e *EXMO) GetTrades(ctx context.Context, symbol string) (map[string][]Trades, error)
- func (e *EXMO) GetUserInfo(ctx context.Context) (UserInfo, error)
- func (e *EXMO) GetUserTrades(ctx context.Context, pair, offset, limit string) (map[string][]UserTrades, error)
- func (e *EXMO) GetWalletHistory(ctx context.Context, date int64) (WalletHistory, error)
- func (e *EXMO) GetWithdrawTXID(ctx context.Context, taskID int64) (string, error)
- func (e *EXMO) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
- func (e *EXMO) ModifyOrder(ctx context.Context, action *order.Modify) (order.Modify, error)
- func (e *EXMO) Run()
- func (e *EXMO) SendAuthenticatedHTTPRequest(ctx context.Context, epath exchange.URL, method, endpoint string, ...) error
- func (e *EXMO) SendHTTPRequest(ctx context.Context, endpoint exchange.URL, path string, result interface{}) error
- func (e *EXMO) SetDefaults()
- func (e *EXMO) Setup(exch *config.Exchange) error
- func (e *EXMO) Start(wg *sync.WaitGroup) error
- func (e *EXMO) SubmitOrder(ctx context.Context, s *order.Submit) (order.SubmitResponse, error)
- func (e *EXMO) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
- func (e *EXMO) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (e *EXMO) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
- func (e *EXMO) UpdateTickers(ctx context.Context, a asset.Item) error
- func (e *EXMO) UpdateTradablePairs(ctx context.Context, forceUpdate bool) error
- func (e *EXMO) ValidateCredentials(ctx context.Context, assetType asset.Item) error
- func (e *EXMO) WithdrawCryptocurrency(ctx context.Context, currency, address, invoice, transport string, ...) (int64, error)
- func (e *EXMO) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (e *EXMO) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (e *EXMO) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
- type ExcodeCreate
- type ExcodeLoad
- type OpenOrders
- type OrderTrades
- type Orderbook
- type PairSettings
- type RequiredAmount
- type Ticker
- type Trades
- type UserInfo
- type UserTrades
- type WalletHistory
Constants ¶
This section is empty.
Variables ¶
var WithdrawalFees = map[currency.Code]float64{ currency.BTC: 0.0005, currency.LTC: 0.01, currency.DOGE: 1, currency.DASH: 0.01, currency.ETH: 0.01, currency.WAVES: 0.001, currency.ZEC: 0.001, currency.USDT: 5, currency.XMR: 0.05, currency.XRP: 0.02, currency.KICK: 50, currency.ETC: 0.01, currency.BCH: 0.001, currency.BTG: 0.001, currency.HBZ: 65, currency.BTCZ: 5, currency.DXT: 20, currency.STQ: 100, currency.XLM: 0.001, currency.OMG: 0.5, currency.TRX: 1, currency.ADA: 1, currency.INK: 50, currency.ZRX: 1, currency.GNT: 1, }
WithdrawalFees the large list of predefined withdrawal fees Prone to change
Functions ¶
This section is empty.
Types ¶
type AuthResponse ¶
AuthResponse stores the auth response
type CancelledOrder ¶
type CancelledOrder struct { Date int64 `json:"date"` OrderID int64 `json:"order_id,string"` Type string `json:"type"` Pair string `json:"pair"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` Amount float64 `json:"amount,string"` }
CancelledOrder stores cancelled order data
type CryptoPaymentProvider ¶
type CryptoPaymentProvider struct { Type string `json:"type"` Name string `json:"name"` CurrencyName string `json:"currency_name"` Min float64 `json:"min,string"` Max float64 `json:"max,string"` Enabled bool `json:"enabled"` Comment string `json:"comment"` CommissionDescription string `json:"commission_desc"` CurrencyConfirmations uint16 `json:"currency_confirmations"` }
CryptoPaymentProvider stores the cryptocurrency transfer settings
type EXMO ¶
EXMO exchange struct
func (*EXMO) CancelAllOrders ¶
func (e *EXMO) CancelAllOrders(ctx context.Context, _ *order.Cancel) (order.CancelAllResponse, error)
CancelAllOrders cancels all orders associated with a currency pair
func (*EXMO) CancelBatchOrders ¶
func (e *EXMO) CancelBatchOrders(ctx context.Context, o []order.Cancel) (order.CancelBatchResponse, error)
CancelBatchOrders cancels an orders by their corresponding ID numbers
func (*EXMO) CancelExistingOrder ¶
CancelExistingOrder cancels an order by the orderID
func (*EXMO) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*EXMO) CreateOrder ¶
func (e *EXMO) CreateOrder(ctx context.Context, pair, orderType string, price, amount float64) (int64, error)
CreateOrder creates an order Params: pair, quantity, price and type Type can be buy, sell, market_buy, market_sell, market_buy_total and market_sell_total
func (*EXMO) ExcodeCreate ¶
func (e *EXMO) ExcodeCreate(ctx context.Context, currency string, amount float64) (ExcodeCreate, error)
ExcodeCreate creates an EXMO coupon
func (*EXMO) ExcodeLoad ¶
ExcodeLoad loads an EXMO coupon
func (*EXMO) FetchAccountInfo ¶
func (e *EXMO) FetchAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
FetchAccountInfo retrieves balances for all enabled currencies
func (*EXMO) FetchOrderbook ¶
func (e *EXMO) FetchOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
FetchOrderbook returns the orderbook for a currency pair
func (*EXMO) FetchTicker ¶
func (e *EXMO) FetchTicker(ctx context.Context, p currency.Pair, assetType asset.Item) (*ticker.Price, error)
FetchTicker returns the ticker for a currency pair
func (*EXMO) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*EXMO) GetActiveOrders ¶
func (e *EXMO) GetActiveOrders(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
GetActiveOrders retrieves any orders that are active/open
func (*EXMO) GetAvailableTransferChains ¶
func (e *EXMO) GetAvailableTransferChains(ctx context.Context, cryptocurrency currency.Code) ([]string, error)
GetAvailableTransferChains returns the available transfer blockchains for the specific cryptocurrency
func (*EXMO) GetCancelledOrders ¶
func (e *EXMO) GetCancelledOrders(ctx context.Context, offset, limit string) ([]CancelledOrder, error)
GetCancelledOrders returns a list of cancelled orders
func (*EXMO) GetCryptoDepositAddress ¶
GetCryptoDepositAddress returns a list of addresses for cryptocurrency deposits
func (*EXMO) GetCryptoPaymentProvidersList ¶
func (e *EXMO) GetCryptoPaymentProvidersList(ctx context.Context) (map[string][]CryptoPaymentProvider, error)
GetCryptoPaymentProvidersList returns a map of all the supported cryptocurrency transfer settings
func (*EXMO) GetCurrency ¶
GetCurrency returns a list of currencies
func (*EXMO) GetDefaultConfig ¶
GetDefaultConfig returns a default exchange config
func (*EXMO) GetDepositAddress ¶
func (e *EXMO) GetDepositAddress(ctx context.Context, cryptocurrency currency.Code, _, chain string) (*deposit.Address, error)
GetDepositAddress returns a deposit address for a specified currency
func (*EXMO) GetFee ¶
func (e *EXMO) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFee returns an estimate of fee based on type of transaction
func (*EXMO) GetFeeByType ¶
GetFeeByType returns an estimate of fee based on type of transaction
func (*EXMO) GetFundingHistory ¶
GetFundingHistory returns funding history, deposits and withdrawals
func (*EXMO) GetHistoricCandles ¶
func (e *EXMO) GetHistoricCandles(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandles returns candles between a time period for a set time interval
func (*EXMO) GetHistoricCandlesExtended ¶
func (e *EXMO) GetHistoricCandlesExtended(ctx context.Context, pair currency.Pair, a asset.Item, start, end time.Time, interval kline.Interval) (kline.Item, error)
GetHistoricCandlesExtended returns candles between a time period for a set time interval
func (*EXMO) GetHistoricTrades ¶
func (e *EXMO) GetHistoricTrades(_ context.Context, _ currency.Pair, _ asset.Item, _, _ time.Time) ([]trade.Data, error)
GetHistoricTrades returns historic trade data within the timeframe provided
func (*EXMO) GetOpenOrders ¶
GetOpenOrders returns the users open orders
func (*EXMO) GetOrderHistory ¶
func (e *EXMO) GetOrderHistory(ctx context.Context, req *order.GetOrdersRequest) ([]order.Detail, error)
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*EXMO) GetOrderInfo ¶
func (e *EXMO) GetOrderInfo(ctx context.Context, orderID string, pair currency.Pair, assetType asset.Item) (order.Detail, error)
GetOrderInfo returns order information based on order ID
func (*EXMO) GetOrderTrades ¶
GetOrderTrades returns a history of order trade details for the specific orderID
func (*EXMO) GetOrderbook ¶
GetOrderbook returns the orderbook for a symbol or symbols
func (*EXMO) GetPairSettings ¶
GetPairSettings returns the pair settings for a symbol or symbols
func (*EXMO) GetRecentTrades ¶
func (e *EXMO) 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 (*EXMO) GetRequiredAmount ¶
func (e *EXMO) GetRequiredAmount(ctx context.Context, pair string, amount float64) (RequiredAmount, error)
GetRequiredAmount calculates the sum of buying a certain amount of currency for the particular currency pair
func (*EXMO) GetUserInfo ¶
GetUserInfo returns the user info
func (*EXMO) GetUserTrades ¶
func (e *EXMO) GetUserTrades(ctx context.Context, pair, offset, limit string) (map[string][]UserTrades, error)
GetUserTrades returns the user trades
func (*EXMO) GetWalletHistory ¶
GetWalletHistory returns the users deposit/withdrawal history
func (*EXMO) GetWithdrawTXID ¶
GetWithdrawTXID gets the result of a withdrawal request
func (*EXMO) GetWithdrawalsHistory ¶
func (e *EXMO) GetWithdrawalsHistory(ctx context.Context, c currency.Code) (resp []exchange.WithdrawalHistory, err error)
GetWithdrawalsHistory returns previous withdrawals data
func (*EXMO) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*EXMO) SendAuthenticatedHTTPRequest ¶
func (e *EXMO) SendAuthenticatedHTTPRequest(ctx context.Context, epath exchange.URL, method, endpoint string, vals url.Values, result interface{}) error
SendAuthenticatedHTTPRequest sends an authenticated HTTP request
func (*EXMO) SendHTTPRequest ¶
func (e *EXMO) SendHTTPRequest(ctx context.Context, endpoint exchange.URL, path string, result interface{}) error
SendHTTPRequest sends an unauthenticated HTTP request
func (*EXMO) SetDefaults ¶
func (e *EXMO) SetDefaults()
SetDefaults sets the basic defaults for exmo
func (*EXMO) SubmitOrder ¶
SubmitOrder submits a new order
func (*EXMO) UpdateAccountInfo ¶
func (e *EXMO) UpdateAccountInfo(ctx context.Context, assetType asset.Item) (account.Holdings, error)
UpdateAccountInfo retrieves balances for all enabled currencies for the Exmo exchange
func (*EXMO) UpdateOrderbook ¶
func (e *EXMO) UpdateOrderbook(ctx context.Context, p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*EXMO) UpdateTicker ¶
func (e *EXMO) UpdateTicker(ctx context.Context, p currency.Pair, a asset.Item) (*ticker.Price, error)
UpdateTicker updates and returns the ticker for a currency pair
func (*EXMO) UpdateTickers ¶
UpdateTickers updates the ticker for all currency pairs of a given asset type
func (*EXMO) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*EXMO) ValidateCredentials ¶
ValidateCredentials validates current credentials used for wrapper functionality
func (*EXMO) WithdrawCryptocurrency ¶
func (e *EXMO) WithdrawCryptocurrency(ctx context.Context, currency, address, invoice, transport string, amount float64) (int64, error)
WithdrawCryptocurrency withdraws a cryptocurrency from the exchange to the desired address NOTE: This API function is available only after request to their tech support team
func (*EXMO) WithdrawCryptocurrencyFunds ¶
func (e *EXMO) WithdrawCryptocurrencyFunds(ctx context.Context, withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*EXMO) WithdrawFiatFunds ¶
func (e *EXMO) WithdrawFiatFunds(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*EXMO) WithdrawFiatFundsToInternationalBank ¶
func (e *EXMO) WithdrawFiatFundsToInternationalBank(_ context.Context, _ *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
type ExcodeCreate ¶
type ExcodeCreate struct { TaskID int64 `json:"task_id"` Code string `json:"code"` Amount float64 `json:"amount,string"` Currency string `json:"currency"` Balances map[string]string `json:"balances"` }
ExcodeCreate stores the excode create coupon info
type ExcodeLoad ¶
type ExcodeLoad struct { TaskID int64 `json:"task_id"` Amount float64 `json:"amount,string"` Currency string `json:"currency"` Balances map[string]string `json:"balances"` }
ExcodeLoad stores the excode load coupon info
type OpenOrders ¶
type OpenOrders struct { OrderID int64 `json:"order_id,string"` Created int64 `json:"created,string"` Type string `json:"type"` Pair string `json:"pair"` Price float64 `json:"price,string"` Quantity float64 `json:"quantity,string"` Amount float64 `json:"amount,string"` }
OpenOrders stores the order info
type OrderTrades ¶
type OrderTrades struct { Type string `json:"type"` InCurrency string `json:"in_currency"` InAmount float64 `json:"in_amount,string"` OutCurrency string `json:"out_currency"` OutAmount float64 `json:"out_amount,string"` Trades []UserTrades `json:"trades"` }
OrderTrades stores order trade information
type Orderbook ¶
type Orderbook struct { AskQuantity float64 `json:"ask_quantity,string"` AskAmount float64 `json:"ask_amount,string"` AskTop float64 `json:"ask_top,string"` BidQuantity float64 `json:"bid_quantity,string"` BidTop float64 `json:"bid_top,string"` Ask [][]string `json:"ask"` Bid [][]string `json:"bid"` }
Orderbook holds the orderbook data
type PairSettings ¶
type PairSettings struct { MinQuantity float64 `json:"min_quantity,string"` MaxQuantity float64 `json:"max_quantity,string"` MinPrice float64 `json:"min_price,string"` MaxPrice float64 `json:"max_price,string"` MaxAmount float64 `json:"max_amount,string"` MinAmount float64 `json:"min_amount,string"` }
PairSettings holds the pair settings
type RequiredAmount ¶
type RequiredAmount struct { Quantity float64 `json:"quantity,string"` Amount float64 `json:"amount,string"` AvgPrice float64 `json:"avg_price,string"` }
RequiredAmount stores the calculation for buying a certain amount of currency for a particular currency
type Ticker ¶
type Ticker struct { Buy float64 `json:"buy_price,string"` Sell float64 `json:"sell_price,string"` Last float64 `json:"last_trade,string"` High float64 `json:"high,string"` Low float64 `json:"low,string"` Average float64 `json:"average,string"` Volume float64 `json:"vol,string"` VolumeCurrent float64 `json:"vol_curr,string"` Updated int64 `json:"updated"` }
Ticker holds the ticker data
type Trades ¶
type Trades struct { TradeID int64 `json:"trade_id"` Type string `json:"type"` Quantity float64 `json:"quantity,string"` Price float64 `json:"price,string"` Amount float64 `json:"amount,string"` Date int64 `json:"date"` Pair string `json:"pair"` }
Trades holds trade data
type UserInfo ¶
type UserInfo struct { AuthResponse UID int `json:"uid"` ServerDate int `json:"server_date"` Balances map[string]string `json:"balances"` Reserved map[string]string `json:"reserved"` }
UserInfo stores the user info
type UserTrades ¶
type UserTrades struct { TradeID int64 `json:"trade_id"` Date int64 `json:"date"` Type string `json:"type"` Pair string `json:"pair"` OrderID int64 `json:"order_id"` Quantity float64 `json:"quantity"` Price float64 `json:"price"` Amount float64 `json:"amount"` }
UserTrades stores the users trade info
type WalletHistory ¶
type WalletHistory struct { Begin int64 `json:"begin,string"` End int64 `json:"end,string"` History []struct { Timestamp int64 `json:"dt"` Type string `json:"string"` Currency string `json:"curr"` Status string `json:"status"` Provider string `json:"provider"` Amount float64 `json:"amount,string"` Account string `json:"account,string"` } }
WalletHistory stores the users wallet history