Documentation ¶
Index ¶
- Constants
- Variables
- func RoundFloat64(x float64, places int) float64
- type Auth
- type Balance
- type Client
- func (client *Client) CancelOrder(ctx context.Context, id int) error
- func (client *Client) CreateBuyLimit(ctx context.Context, amount float64, market Market, price float64) (*Order, error)
- func (client *Client) CreateSellLimit(ctx context.Context, amount float64, market Market, price float64) (*Order, error)
- func (client *Client) GetBalances(ctx context.Context, params map[string]string) ([]Balance, error)
- func (client *Client) GetCommon(ctx context.Context) (*CommonData, error)
- func (client *Client) GetCurrencies(ctx context.Context) ([]CurrencyData, error)
- func (client *Client) GetCurrency(ctx context.Context, currency Currency) (*CurrencyData, error)
- func (client *Client) GetDeposit(ctx context.Context, id string) ([]DepositDetails, error)
- func (client *Client) GetDepositAddress(ctx context.Context, currency Currency) (*DepositAddressData, error)
- func (client *Client) GetDepositHistory(ctx context.Context, params map[string]string) ([]DepositDetails, error)
- func (client *Client) GetMarket(ctx context.Context, market Market) (*GetMarketData, error)
- func (client *Client) GetMarketTrades(ctx context.Context, market Market) ([]PublicTrade, error)
- func (client *Client) GetMarkets(ctx context.Context) ([]MarketData, error)
- func (client *Client) GetOHLCV(ctx context.Context, market Market, interval Interval, ...) ([]OHLCVSlice, error)
- func (client *Client) GetOrder(ctx context.Context, id int) (*Order, error)
- func (client *Client) GetOrderbook(ctx context.Context, market Market) (*Orderbook, error)
- func (client *Client) GetOrders(ctx context.Context, params map[string]string) ([]Order, error)
- func (client *Client) GetTicker(ctx context.Context, market Market) (*Ticker, error)
- func (client *Client) GetTickers(ctx context.Context) ([]Ticker, error)
- func (client *Client) GetTrades(ctx context.Context, params map[string]string) ([]PrivateTrade, error)
- func (client *Client) GetTransfers(ctx context.Context, params map[string]string) ([]Transfer, error)
- func (client *Client) GetUserInfo(ctx context.Context) (*UserInfo, error)
- func (client *Client) GetUserMarket(ctx context.Context, market Market, params map[string]string) (*UserMarketData, error)
- func (client *Client) GetWithdrawDetails(ctx context.Context, id int) (*WithdrawDetails, error)
- func (client *Client) GetWithdrawHistory(ctx context.Context, params map[string]string) ([]WithdrawDetails, error)
- func (client *Client) Withdraw(ctx context.Context, address string, amount float64, currency Currency) (*WithdrawData, error)
- type CommonData
- type Configuration
- type CreateOrderResult
- type Currency
- type CurrencyConfig
- type CurrencyData
- type CurrencyMetadata
- type CurrencyStatus
- type DepositAddressData
- type DepositDetails
- type EmailAddress
- type Error
- type ErrorResult
- type GetBalancesResult
- type GetCommonResult
- type GetCurrenciesResult
- type GetCurrencyResult
- type GetDepositAddressResult
- type GetDepositHistoryResult
- type GetDepositResult
- type GetMarketData
- type GetMarketResult
- type GetMarketTradesResult
- type GetMarketsResult
- type GetOHLCVResult
- type GetOrderResult
- type GetOrderbookData
- type GetOrderbookResult
- type GetOrdersResult
- type GetTickerResult
- type GetTickersResult
- type GetTradesResult
- type GetTransfersResult
- type GetUserInfoResult
- type GetUserMarketResult
- type GetWithdrawDetailsResult
- type GetWithdrawHistoryResult
- type Interval
- type Market
- type MarketData
- type MarketMetadata
- type MarketNotice
- type OHLCVSlice
- type Order
- type OrderType
- type Orderbook
- type PrivateTrade
- type PublicTrade
- type Ticker
- type Transfer
- type UserInfo
- type UserMarketData
- type WithdrawData
- type WithdrawDetails
- type WithdrawResult
Constants ¶
View Source
const ( FiveMin = "fivemin" FifteenMin = "fifteenmin" ThirtyMin = "thirtymin" OneHour = "onehour" TwoHour = "twohour" FourHour = "fourhour" OneDay = "oneday" )
Variables ¶
View Source
var ( ErrTooManyRequests = errors.New("too many requests") ErrHTTPRetryable = errors.New("a retryable HTTP error occurred") )
View Source
var CurrencyDecimalPlaces = map[Currency]int{
USDT: 6,
BAN: 29,
BTM: 8,
DOGE: 8,
MCM: 9,
WEBD: 4,
QUAN: 8,
PEG: 8,
RVN: 8,
BAC: 8,
CCX: 6,
XEQ: 4,
RUPX: 8,
PHL: 8,
FCT: 8,
DGB: 8,
XBR: 8,
ETH: 18,
BTC: 8,
SCC: 8,
PUSD: 8,
REDN: 8,
SNOW: 6,
HTR: 2,
CPR: 8,
CRUZ: 8,
VEO: 8,
KLP: 12,
VLS: 8,
NANO: 30,
DEFT: 8,
LTC: 8,
RCO: 8,
TAO1: 8,
LUCK: 18,
WFCT: 8,
MMO: 8,
NYZO: 6,
BWS20: 8,
BWS10: 8,
THC: 8,
XTO: 18,
GRIN: 9,
PASC: 4,
ARMS: 8,
RTM: 8,
ZANO: 12,
ANU: 8,
XCP: 8,
ARO: 8,
BIS: 8,
IDNA: 18,
HLS: 18,
PFCT: 8,
}
Functions ¶
func RoundFloat64 ¶
RoundFloat64 rounds x to a specified number of decimal places
Types ¶
type Auth ¶
func AuthFromKeypair ¶
type Client ¶
type Client struct { Client *http.Client Config Configuration Auth Auth }
func NewClient ¶
func NewClient(config Configuration) (*Client, error)
func (*Client) CreateBuyLimit ¶
func (*Client) CreateSellLimit ¶
func (*Client) GetBalances ¶
func (*Client) GetCommon ¶
func (client *Client) GetCommon(ctx context.Context) (*CommonData, error)
func (*Client) GetCurrencies ¶
func (client *Client) GetCurrencies(ctx context.Context) ([]CurrencyData, error)
func (*Client) GetCurrency ¶
func (*Client) GetDeposit ¶
func (*Client) GetDepositAddress ¶
func (*Client) GetDepositHistory ¶
func (*Client) GetMarketTrades ¶
func (*Client) GetMarkets ¶
func (client *Client) GetMarkets(ctx context.Context) ([]MarketData, error)
func (*Client) GetOrderbook ¶
func (*Client) GetTransfers ¶
func (*Client) GetUserInfo ¶
func (*Client) GetUserMarket ¶
func (*Client) GetWithdrawDetails ¶
func (*Client) GetWithdrawHistory ¶
type CommonData ¶
type CommonData struct { Currencies []CurrencyData `json:"currencies"` Markets []MarketData `json:"markets"` Tickers []Ticker `json:"tickers"` }
type Configuration ¶
type CreateOrderResult ¶
type CreateOrderResult struct { Data struct { Order Order `json:"order"` } `json:"data"` }
type Currency ¶
type Currency string
const ( USDT Currency = "USDT" BAN Currency = "BAN" BTM Currency = "BTM" DOGE Currency = "DOGE" MCM Currency = "MCM" WEBD Currency = "WEBD" QUAN Currency = "QUAN" PEG Currency = "PEG" RVN Currency = "RVN" BAC Currency = "BAC" CCX Currency = "CCX" XEQ Currency = "XEQ" RUPX Currency = "RUPX" PHL Currency = "PHL" FCT Currency = "FCT" DGB Currency = "DGB" XBR Currency = "XBR" ETH Currency = "ETH" BTC Currency = "BTC" SCC Currency = "SCC" PUSD Currency = "pUSD" REDN Currency = "REDN" SNOW Currency = "SNOW" HTR Currency = "HTR" CPR Currency = "CPR" CRUZ Currency = "CRUZ" VEO Currency = "VEO" KLP Currency = "KLP" VLS Currency = "VLS" NANO Currency = "NANO" DEFT Currency = "DEFT" LTC Currency = "LTC" RCO Currency = "RCO" TAO1 Currency = "TAO1" LUCK Currency = "LUCK" WFCT Currency = "WFCT" MMO Currency = "MMO" NYZO Currency = "NYZO" BWS20 Currency = "BWS20" BWS10 Currency = "BWS10" THC Currency = "THC" XTO Currency = "XTO" GRIN Currency = "GRIN" PASC Currency = "PASC" ARMS Currency = "ARMS" RTM Currency = "RTM" ZANO Currency = "ZANO" ANU Currency = "ANU" XCP Currency = "XCP" ARO Currency = "ARO" BIS Currency = "BIS" IDNA Currency = "IDNA" HLS Currency = "HLS" PFCT Currency = "pFCT" )
type CurrencyConfig ¶
type CurrencyConfig struct { AddressVersion int `json:"address_version,omitempty"` DefaultSigner int `json:"default_signer"` Price float64 `json:"price"` RequiredConfirmations int `json:"required_confirmations"` RequiredGenerateConfirmations int `json:"required_generate_confirmations,omitempty"` SatoshiPerByte int `json:"satoshi_per_byte,omitempty"` WifVersion int `json:"wif_version,omitempty"` WithdrawFee float64 `json:"withdraw_fee,string"` ExplorerAddressURL string `json:"explorerAddressURL,omitempty"` ExplorerTransactionURL string `json:"explorerTransactionURL,omitempty"` P2ShAddressVersion int `json:"p2sh_address_version,omitempty"` DataMax int `json:"data_max,omitempty"` EnableAddressData bool `json:"enable_address_data,omitempty"` }
type CurrencyData ¶
type CurrencyData struct { CanWithdraw bool `json:"can_withdraw"` Code Currency `json:"code"` Config CurrencyConfig `json:"config"` LongName string `json:"long_name"` Metadata CurrencyMetadata `json:"metadata"` Precision int `json:"precision"` Status CurrencyStatus `json:"status"` Type string `json:"type"` }
type CurrencyMetadata ¶
type CurrencyStatus ¶
type CurrencyStatus string
const ( CurrencyStatusOK CurrencyStatus = "ok" CurrencyStatusDegraded CurrencyStatus = "degraded" CurrencyStatusDisabled CurrencyStatus = "disabled" CurrencyStatusOffline CurrencyStatus = "offline" CurrencyStatusDelisted CurrencyStatus = "delisted" )
type DepositAddressData ¶
type DepositAddressData struct { Address string `json:"address"` CurrencyStatus CurrencyStatus `json:"currency_status"` }
type DepositDetails ¶
type DepositDetails struct { Address string `json:"address"` Amount string `json:"amount"` CreatedAt time.Time `json:"created_at"` Currency Currency `json:"currency"` ID string `json:"id"` NetworkData map[string]interface{} `json:"network_data,omitempty"` RelayStatus string `json:"relay_status"` Status string `json:"status"` }
type EmailAddress ¶
type ErrorResult ¶
type ErrorResult struct {
Errors []Error `json:"errors"`
}
type GetBalancesResult ¶
type GetBalancesResult struct { Data struct { Balances []Balance `json:"balances"` } `json:"data"` }
type GetCommonResult ¶
type GetCommonResult struct {
Data CommonData `json:"data"`
}
type GetCurrenciesResult ¶
type GetCurrenciesResult struct { Data struct { Currencies []CurrencyData `json:"currencies"` } `json:"data"` }
type GetCurrencyResult ¶
type GetCurrencyResult struct { Data struct { Currency CurrencyData `json:"currency"` } `json:"data"` }
type GetDepositAddressResult ¶
type GetDepositAddressResult struct {
Data DepositAddressData `json:"data"`
}
type GetDepositHistoryResult ¶
type GetDepositHistoryResult struct { Data struct { Deposits []DepositDetails `json:"deposits"` } `json:"data"` }
type GetDepositResult ¶
type GetDepositResult struct { Data struct { Deposit []DepositDetails `json:"deposit"` } `json:"data"` }
type GetMarketData ¶
type GetMarketData struct { Market MarketData `json:"market"` RecentTrades []PublicTrade `json:"recent_trades"` }
type GetMarketResult ¶
type GetMarketResult struct {
Data GetMarketData `json:"data"`
}
type GetMarketTradesResult ¶
type GetMarketTradesResult struct { Data struct { Trades []PublicTrade `json:"trades"` } `json:"data"` }
type GetMarketsResult ¶
type GetMarketsResult struct { Data struct { Markets []MarketData `json:"markets"` } `json:"data"` }
type GetOHLCVResult ¶
type GetOHLCVResult struct { Data struct { Slices []OHLCVSlice `json:"slices"` } `json:"data"` }
type GetOrderResult ¶
type GetOrderResult struct { Data struct { Order Order `json:"order"` } `json:"data"` }
type GetOrderbookData ¶
type GetOrderbookResult ¶
type GetOrderbookResult struct {
Data GetOrderbookData `json:"data"`
}
type GetOrdersResult ¶
type GetOrdersResult struct { Data struct { Orders []Order `json:"orders"` } `json:"data"` }
type GetTickerResult ¶
type GetTickerResult struct {
Data Ticker `json:"data"`
}
type GetTickersResult ¶
type GetTickersResult struct { Data struct { Tickers []Ticker `json:"markets"` } `json:"data"` }
type GetTradesResult ¶
type GetTradesResult struct { Data struct { Trades []PrivateTrade `json:"trades"` } `json:"data"` }
type GetTransfersResult ¶
type GetTransfersResult struct { Data struct { Transfers []Transfer `json:"transfers"` } `json:"data"` }
type GetUserInfoResult ¶
type GetUserInfoResult struct { Data struct { User UserInfo `json:"user"` } `json:"data"` }
type GetUserMarketResult ¶
type GetUserMarketResult struct {
Data UserMarketData `json:"data"`
}
type GetWithdrawDetailsResult ¶
type GetWithdrawDetailsResult struct { Data struct { Withdraw WithdrawDetails `json:"withdraw"` } `json:"data"` }
type GetWithdrawHistoryResult ¶
type GetWithdrawHistoryResult struct { Data struct { Withdraws []WithdrawDetails `json:"withdraws"` } `json:"data"` }
type Market ¶
type Market int
const ( LTC_BTC Market = 1 RCO_BTC Market = 2 REDN_BTC Market = 3 CPR_BTC Market = 4 BAC_BTC Market = 5 QUAN_BTC Market = 6 RVN_BTC Market = 7 MMO_BTC Market = 8 BTM_BTC Market = 9 ANU_BTC Market = 10 BWS20_BTC Market = 11 BWS20_BWS10 Market = 12 DEFT_BTC Market = 13 RUPX_BTC Market = 14 VEO_BTC Market = 15 THC_BTC Market = 16 SCC_BTC Market = 17 XBR_BTC Market = 18 SNOW_BTC Market = 19 BIS_BTC Market = 20 PHL_BTC Market = 21 GRIN_BTC Market = 23 NYZO_BTC Market = 24 TAO1_BTC Market = 25 XEQ_BTC Market = 26 VLS_BTC Market = 27 ZANO_BTC Market = 28 PASC_BTC Market = 30 NANO_BTC Market = 31 CRUZ_BTC Market = 32 BAN_BTC Market = 33 MCM_BTC Market = 34 ARO_BTC Market = 35 DOGE_BTC Market = 36 HLS_BTC Market = 37 WEBD_BTC Market = 38 ARMS_BTC Market = 39 CCX_BTC Market = 40 ETH_BTC Market = 41 PEG_BTC Market = 42 BTC_pUSD Market = 43 ETH_pUSD Market = 44 PEG_pUSD Market = 45 PFCT_pUSD Market = 46 FCT_pUSD Market = 47 FCT_BTC Market = 48 IDNA_BTC Market = 49 DGB_BTC Market = 50 KLP_BTC Market = 51 XTO_BTC Market = 52 LUCK_BTC Market = 53 HTR_BTC Market = 54 RTM_BTC Market = 55 BTC_USDT Market = 56 ETH_USDT Market = 57 NYZO_USDT Market = 58 KLP_USDT Market = 59 HTR_USDT Market = 60 WFCT_FCT Market = 61 )
nolint: golint
func (Market) BaseCurrency ¶
func (Market) MarketCurrency ¶
type MarketData ¶
type MarketData struct { BaseCurrency Currency `json:"base_currency"` CanCancel bool `json:"can_cancel"` CanTrade bool `json:"can_trade"` CanView bool `json:"can_view"` ID Market `json:"id"` MakerFee float64 `json:"maker_fee,string"` MarketCurrency Currency `json:"market_currency"` Metadata MarketMetadata `json:"metadata"` TakerFee float64 `json:"taker_fee,string"` }
type MarketMetadata ¶
type MarketMetadata struct { DelistingDate string `json:"delisting_date,omitempty"` MarketNotices []MarketNotice `json:"market_notices,omitempty"` Labels []interface{} `json:"labels,omitempty"` }
type MarketNotice ¶
type OHLCVSlice ¶
type Order ¶
type Order struct { BaseAmount float64 `json:"base_amount,string"` CreatedAt time.Time `json:"created_at"` ID int `json:"id"` MarketAmount float64 `json:"market_amount,string"` MarketAmountRemaining float64 `json:"market_amount_remaining,string"` Market Market `json:"market_id"` Open bool `json:"open"` OrderType OrderType `json:"order_type"` Price float64 `json:"price,string"` Trades []PrivateTrade `json:"trades"` CloseReason string `json:"close_reason,omitempty"` }
type PrivateTrade ¶
type PrivateTrade struct { BaseAmount float64 `json:"base_amount,string"` BaseFee float64 `json:"base_fee,string"` CreatedAt time.Time `json:"created_at"` ID int `json:"id"` OrderID int `json:"order_id,omitempty"` Market Market `json:"market_id,omitempty"` MarketAmount float64 `json:"market_amount,string"` Price float64 `json:"price,string"` Taker bool `json:"taker"` Side string `json:"side,omitempty"` }
PrivateTrade contains detailed information about a trade, and is usually only available to one of the users involved.
type PublicTrade ¶
type PublicTrade struct { Amount float64 `json:"amount,string"` CreatedAt time.Time `json:"created_at"` ID int `json:"id"` Price float64 `json:"price,string"` SellerTaker *bool `json:"seller_taker,omitempty"` }
PublicTrade does not contain detailed info about a trade, and is returned by public endpoints.
type Ticker ¶
type Ticker struct { Ask float64 `json:"ask,string"` Bid float64 `json:"bid,string"` DayAvgPrice float64 `json:"day_avg_price,string"` DayChange float64 `json:"day_change,string"` DayHigh float64 `json:"day_high,string"` DayLow float64 `json:"day_low,string"` DayOpen float64 `json:"day_open,string"` DayVolumeBase float64 `json:"day_volume_base,string"` DayVolumeMarket float64 `json:"day_volume_market,string"` Market Market `json:"id"` IDHr string `json:"id_hr"` Last float64 `json:"last,string"` }
type Transfer ¶
type Transfer struct { Amount float64 `json:"amount,string"` CreatedAt time.Time `json:"created_at"` Currency Currency `json:"currency"` ID int `json:"id"` ReasonCode string `json:"reason_code"` ReasonMetadata map[string]interface{} `json:"reason_metadata"` SenderEmail string `json:"sender_email"` SenderID int `json:"sender_id"` }
type UserInfo ¶
type UserInfo struct { CanLogin bool `json:"can_login"` CanTrade bool `json:"can_trade"` CanWithdraw bool `json:"can_withdraw"` Email string `json:"email"` EmailAddresses []EmailAddress `json:"email_addresses"` FirstName string `json:"fname"` LastName string `json:"lname"` ID int `json:"id"` ReferralCode string `json:"referral_code"` TFAEnabled bool `json:"tfa_enabled"` Verification string `json:"verification"` VerifiedEmail bool `json:"verified_email"` WithdrawLimit int `json:"withdraw_limit"` }
type UserMarketData ¶
type WithdrawData ¶
type WithdrawDetails ¶
type WithdrawDetails struct { Address string `json:"address"` Amount string `json:"amount"` CancelRequested bool `json:"cancel_requested"` CreatedAt time.Time `json:"created_at"` Currency Currency `json:"currency"` ID int `json:"id"` NetworkData map[string]interface{} `json:"network_data,omitempty"` RelayStatus string `json:"relay_status"` Status string `json:"status"` UserID int `json:"user_id"` }
type WithdrawResult ¶
type WithdrawResult struct {
Data WithdrawData `json:"data"`
}
Click to show internal directories.
Click to hide internal directories.