Documentation ¶
Index ¶
- Constants
- type Balance
- type Balances
- type Bitstamp
- func (b *Bitstamp) CalculateTradingFee(base, quote currency.Code, purchasePrice, amount float64, balances Balances) float64
- func (b *Bitstamp) CancelAllExistingOrders() (bool, error)
- func (b *Bitstamp) CancelAllOrders(_ *order.Cancel) (order.CancelAllResponse, error)
- func (b *Bitstamp) CancelExistingOrder(orderID int64) (CancelOrder, error)
- func (b *Bitstamp) CancelOrder(order *order.Cancel) error
- func (b *Bitstamp) CryptoWithdrawal(amount float64, address, symbol, destTag string, instant bool) (CryptoWithdrawalResponse, error)
- func (b *Bitstamp) FetchAccountInfo() (account.Holdings, error)
- func (b *Bitstamp) FetchOrderbook(p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (b *Bitstamp) FetchTicker(p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (b *Bitstamp) FetchTradablePairs(asset asset.Item) ([]string, error)
- func (b *Bitstamp) GetActiveOrders(req *order.GetOrdersRequest) ([]order.Detail, error)
- func (b *Bitstamp) GetBalance() (Balances, error)
- func (b *Bitstamp) GetCryptoDepositAddress(crypto currency.Code) (string, error)
- func (b *Bitstamp) GetDefaultConfig() (*config.ExchangeConfig, error)
- func (b *Bitstamp) GetDepositAddress(cryptocurrency currency.Code, _ string) (string, error)
- func (b *Bitstamp) GetEURUSDConversionRate() (EURUSDConversionRate, error)
- func (b *Bitstamp) GetExchangeHistory(p currency.Pair, assetType asset.Item, timestampStart, timestampEnd time.Time) ([]exchange.TradeHistory, error)
- func (b *Bitstamp) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (b *Bitstamp) GetFeeByType(feeBuilder *exchange.FeeBuilder) (float64, error)
- func (b *Bitstamp) GetFundingHistory() ([]exchange.FundHistory, error)
- func (b *Bitstamp) GetHistoricCandles(pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (b *Bitstamp) GetHistoricCandlesExtended(pair currency.Pair, a asset.Item, start, end time.Time, ...) (kline.Item, error)
- func (b *Bitstamp) GetOpenOrders(currencyPair string) ([]Order, error)
- func (b *Bitstamp) GetOrderHistory(req *order.GetOrdersRequest) ([]order.Detail, error)
- func (b *Bitstamp) GetOrderInfo(orderID string) (order.Detail, error)
- func (b *Bitstamp) GetOrderStatus(orderID int64) (OrderStatus, error)
- func (b *Bitstamp) GetOrderbook(currency string) (Orderbook, error)
- func (b *Bitstamp) GetTicker(currency string, hourly bool) (*Ticker, error)
- func (b *Bitstamp) GetTradingPairs() ([]TradingPair, error)
- func (b *Bitstamp) GetTransactions(currencyPair string, values url.Values) ([]Transactions, error)
- func (b *Bitstamp) GetUnconfirmedBitcoinDeposits() ([]UnconfirmedBTCTransactions, error)
- func (b *Bitstamp) GetUserTransactions(currencyPair string) ([]UserTransactions, error)
- func (b *Bitstamp) GetWithdrawalRequests(timedelta int64) ([]WithdrawalRequests, error)
- func (b *Bitstamp) ModifyOrder(action *order.Modify) (string, error)
- func (b *Bitstamp) OHLC(currency string, start, end time.Time, step, limit string) (resp OHLCResponse, err error)
- func (b *Bitstamp) OpenBankWithdrawal(amount float64, ...) (FIATWithdrawalResponse, error)
- func (b *Bitstamp) OpenInternationalBankWithdrawal(amount float64, ...) (FIATWithdrawalResponse, error)
- func (b *Bitstamp) PlaceOrder(currencyPair string, price, amount float64, buy, market bool) (Order, error)
- func (b *Bitstamp) Run()
- func (b *Bitstamp) SendAuthenticatedHTTPRequest(path string, v2 bool, values url.Values, result interface{}) error
- func (b *Bitstamp) SendHTTPRequest(path string, result interface{}) error
- func (b *Bitstamp) SetDefaults()
- func (b *Bitstamp) Setup(exch *config.ExchangeConfig) error
- func (b *Bitstamp) Start(wg *sync.WaitGroup)
- func (b *Bitstamp) SubmitOrder(s *order.Submit) (order.SubmitResponse, error)
- func (b *Bitstamp) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
- func (b *Bitstamp) TransferAccountBalance(amount float64, currency, subAccount string, toMain bool) error
- func (b *Bitstamp) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
- func (b *Bitstamp) UpdateAccountInfo() (account.Holdings, error)
- func (b *Bitstamp) UpdateOrderbook(p currency.Pair, assetType asset.Item) (*orderbook.Base, error)
- func (b *Bitstamp) UpdateTicker(p currency.Pair, assetType asset.Item) (*ticker.Price, error)
- func (b *Bitstamp) UpdateTradablePairs(forceUpdate bool) error
- func (b *Bitstamp) ValidateCredentials() error
- func (b *Bitstamp) WithdrawCryptocurrencyFunds(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (b *Bitstamp) WithdrawFiatFunds(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (b *Bitstamp) WithdrawFiatFundsToInternationalBank(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
- func (b *Bitstamp) WsConnect() error
- type CancelOrder
- type CaptureError
- type CryptoWithdrawalResponse
- type EURUSDConversionRate
- type FIATWithdrawalResponse
- type OHLCResponse
- type Order
- type OrderStatus
- type Orderbook
- type OrderbookBase
- type Ticker
- type TradingPair
- type Transactions
- type UnconfirmedBTCTransactions
- type UserTransactions
- type WithdrawalRequests
Constants ¶
const ( Deposit = iota Withdrawal MarketTrade SubAccountTransfer = 14 )
Transaction types
const ( BuyOrder = iota SellOrder )
Order side type
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Balance ¶
type Balance struct { Available float64 Balance float64 Reserved float64 WithdrawalFee float64 BTCFee float64 // for cryptocurrency pairs USDFee float64 EURFee float64 }
Balance stores the balance info
type Bitstamp ¶
Bitstamp is the overarching type across the bitstamp package
func (*Bitstamp) CalculateTradingFee ¶
func (b *Bitstamp) CalculateTradingFee(base, quote currency.Code, purchasePrice, amount float64, balances Balances) float64
CalculateTradingFee returns fee on a currency pair
func (*Bitstamp) CancelAllExistingOrders ¶
CancelAllExistingOrders cancels all open orders on the exchange
func (*Bitstamp) CancelAllOrders ¶
CancelAllOrders cancels all orders associated with a currency pair
func (*Bitstamp) CancelExistingOrder ¶
func (b *Bitstamp) CancelExistingOrder(orderID int64) (CancelOrder, error)
CancelExistingOrder cancels order by ID
func (*Bitstamp) CancelOrder ¶
CancelOrder cancels an order by its corresponding ID number
func (*Bitstamp) CryptoWithdrawal ¶
func (b *Bitstamp) CryptoWithdrawal(amount float64, address, symbol, destTag string, instant bool) (CryptoWithdrawalResponse, error)
CryptoWithdrawal withdraws a cryptocurrency into a supplied wallet, returns ID amount - The amount you want withdrawn address - The wallet address of the cryptocurrency symbol - the type of crypto ie "ltc", "btc", "eth" destTag - only for XRP default to "" instant - only for bitcoins
func (*Bitstamp) FetchAccountInfo ¶
FetchAccountInfo retrieves balances for all enabled currencies
func (*Bitstamp) FetchOrderbook ¶
FetchOrderbook returns the orderbook for a currency pair
func (*Bitstamp) FetchTicker ¶
FetchTicker returns the ticker for a currency pair
func (*Bitstamp) FetchTradablePairs ¶
FetchTradablePairs returns a list of the exchanges tradable pairs
func (*Bitstamp) GetActiveOrders ¶
GetActiveOrders retrieves any orders that are active/open
func (*Bitstamp) GetBalance ¶
GetBalance returns full balance of currency held on the exchange
func (*Bitstamp) GetCryptoDepositAddress ¶
GetCryptoDepositAddress returns a depositing address by crypto crypto - example "btc", "ltc", "eth", "xrp" or "bch"
func (*Bitstamp) GetDefaultConfig ¶
func (b *Bitstamp) GetDefaultConfig() (*config.ExchangeConfig, error)
GetDefaultConfig returns a default exchange config
func (*Bitstamp) GetDepositAddress ¶
GetDepositAddress returns a deposit address for a specified currency
func (*Bitstamp) GetEURUSDConversionRate ¶
func (b *Bitstamp) GetEURUSDConversionRate() (EURUSDConversionRate, error)
GetEURUSDConversionRate returns the conversion rate between Euro and USD
func (*Bitstamp) GetExchangeHistory ¶
func (b *Bitstamp) GetExchangeHistory(p currency.Pair, assetType asset.Item, timestampStart, timestampEnd time.Time) ([]exchange.TradeHistory, error)
GetExchangeHistory returns historic trade data within the timeframe provided.
func (*Bitstamp) GetFee ¶
func (b *Bitstamp) GetFee(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFee returns an estimate of fee based on type of transaction
func (*Bitstamp) GetFeeByType ¶
func (b *Bitstamp) GetFeeByType(feeBuilder *exchange.FeeBuilder) (float64, error)
GetFeeByType returns an estimate of fee based on type of transaction
func (*Bitstamp) GetFundingHistory ¶
func (b *Bitstamp) GetFundingHistory() ([]exchange.FundHistory, error)
GetFundingHistory returns funding history, deposits and withdrawals
func (*Bitstamp) GetHistoricCandles ¶
func (b *Bitstamp) GetHistoricCandles(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 (*Bitstamp) GetHistoricCandlesExtended ¶
func (b *Bitstamp) GetHistoricCandlesExtended(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 (*Bitstamp) GetOpenOrders ¶
GetOpenOrders returns all open orders on the exchange
func (*Bitstamp) GetOrderHistory ¶
GetOrderHistory retrieves account order information Can Limit response to specific order status
func (*Bitstamp) GetOrderInfo ¶
GetOrderInfo returns information on a current open order
func (*Bitstamp) GetOrderStatus ¶
func (b *Bitstamp) GetOrderStatus(orderID int64) (OrderStatus, error)
GetOrderStatus returns an the status of an order by its ID
func (*Bitstamp) GetOrderbook ¶
GetOrderbook Returns a JSON dictionary with "bids" and "asks". Each is a list of open orders and each order is represented as a list holding the price and the amount.
func (*Bitstamp) GetTradingPairs ¶
func (b *Bitstamp) GetTradingPairs() ([]TradingPair, error)
GetTradingPairs returns a list of trading pairs which Bitstamp currently supports
func (*Bitstamp) GetTransactions ¶
GetTransactions returns transaction information value paramater ["time"] = "minute", "hour", "day" will collate your response into time intervals. Implementation of value in test code.
func (*Bitstamp) GetUnconfirmedBitcoinDeposits ¶
func (b *Bitstamp) GetUnconfirmedBitcoinDeposits() ([]UnconfirmedBTCTransactions, error)
GetUnconfirmedBitcoinDeposits returns unconfirmed transactions
func (*Bitstamp) GetUserTransactions ¶
func (b *Bitstamp) GetUserTransactions(currencyPair string) ([]UserTransactions, error)
GetUserTransactions returns an array of transactions
func (*Bitstamp) GetWithdrawalRequests ¶
func (b *Bitstamp) GetWithdrawalRequests(timedelta int64) ([]WithdrawalRequests, error)
GetWithdrawalRequests returns withdrawal requests for the account timedelta - positive integer with max value 50000000 which returns requests from number of seconds ago to now.
func (*Bitstamp) ModifyOrder ¶
ModifyOrder will allow of changing orderbook placement and limit to market conversion
func (*Bitstamp) OHLC ¶
func (b *Bitstamp) OHLC(currency string, start, end time.Time, step, limit string) (resp OHLCResponse, err error)
OHLC returns OHLCV data for step (interval)
func (*Bitstamp) OpenBankWithdrawal ¶
func (b *Bitstamp) OpenBankWithdrawal(amount float64, currency, name, iban, bic, address, postalCode, city, country, comment, withdrawalType string) (FIATWithdrawalResponse, error)
OpenBankWithdrawal Opens a bank withdrawal request (SEPA or international)
func (*Bitstamp) OpenInternationalBankWithdrawal ¶
func (b *Bitstamp) OpenInternationalBankWithdrawal(amount float64, currency, name, iban, bic, address, postalCode, city, country, bankName, bankAddress, bankPostCode, bankCity, bankCountry, internationalCurrency, comment, withdrawalType string) (FIATWithdrawalResponse, error)
OpenInternationalBankWithdrawal Opens a bank withdrawal request (international)
func (*Bitstamp) PlaceOrder ¶
func (b *Bitstamp) PlaceOrder(currencyPair string, price, amount float64, buy, market bool) (Order, error)
PlaceOrder places an order on the exchange.
func (*Bitstamp) SendAuthenticatedHTTPRequest ¶
func (b *Bitstamp) SendAuthenticatedHTTPRequest(path string, v2 bool, values url.Values, result interface{}) error
SendAuthenticatedHTTPRequest sends an authenticated request
func (*Bitstamp) SendHTTPRequest ¶
SendHTTPRequest sends an unauthenticated HTTP request
func (*Bitstamp) SetDefaults ¶
func (b *Bitstamp) SetDefaults()
SetDefaults sets default for Bitstamp
func (*Bitstamp) Setup ¶
func (b *Bitstamp) Setup(exch *config.ExchangeConfig) error
Setup sets configuration values to bitstamp
func (*Bitstamp) SubmitOrder ¶
SubmitOrder submits a new order
func (*Bitstamp) Subscribe ¶
func (b *Bitstamp) Subscribe(channelsToSubscribe []stream.ChannelSubscription) error
Subscribe sends a websocket message to receive data from the channel
func (*Bitstamp) TransferAccountBalance ¶
func (b *Bitstamp) TransferAccountBalance(amount float64, currency, subAccount string, toMain bool) error
TransferAccountBalance transfers funds from either a main or sub account amount - to transfers currency - which currency to transfer subaccount - name of account toMain - bool either to or from account
func (*Bitstamp) Unsubscribe ¶
func (b *Bitstamp) Unsubscribe(channelsToUnsubscribe []stream.ChannelSubscription) error
Unsubscribe sends a websocket message to stop receiving data from the channel
func (*Bitstamp) UpdateAccountInfo ¶
UpdateAccountInfo retrieves balances for all enabled currencies for the Bitstamp exchange
func (*Bitstamp) UpdateOrderbook ¶
UpdateOrderbook updates and returns the orderbook for a currency pair
func (*Bitstamp) UpdateTicker ¶
UpdateTicker updates and returns the ticker for a currency pair
func (*Bitstamp) UpdateTradablePairs ¶
UpdateTradablePairs updates the exchanges available pairs and stores them in the exchanges config
func (*Bitstamp) ValidateCredentials ¶
ValidateCredentials validates current credentials used for wrapper functionality
func (*Bitstamp) WithdrawCryptocurrencyFunds ¶
func (b *Bitstamp) WithdrawCryptocurrencyFunds(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawCryptocurrencyFunds returns a withdrawal ID when a withdrawal is submitted
func (*Bitstamp) WithdrawFiatFunds ¶
func (b *Bitstamp) WithdrawFiatFunds(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFunds returns a withdrawal ID when a withdrawal is submitted
func (*Bitstamp) WithdrawFiatFundsToInternationalBank ¶
func (b *Bitstamp) WithdrawFiatFundsToInternationalBank(withdrawRequest *withdraw.Request) (*withdraw.ExchangeResponse, error)
WithdrawFiatFundsToInternationalBank returns a withdrawal ID when a withdrawal is submitted
type CancelOrder ¶
type CancelOrder struct { Price float64 `json:"price"` Amount float64 `json:"amount"` Type int `json:"type"` ID int64 `json:"id"` }
CancelOrder holds the order cancellation info
type CaptureError ¶
type CaptureError struct { Status interface{} `json:"status"` Reason interface{} `json:"reason"` Code interface{} `json:"code"` Error interface{} `json:"error"` }
CaptureError is used to capture unmarshalled errors
type CryptoWithdrawalResponse ¶
type CryptoWithdrawalResponse struct { ID string `json:"id"` Error map[string][]string `json:"error"` }
CryptoWithdrawalResponse response from a crypto withdrawal request
type EURUSDConversionRate ¶
type EURUSDConversionRate struct { Buy float64 `json:"buy,string"` Sell float64 `json:"sell,string"` }
EURUSDConversionRate holds buy sell conversion rate information
type FIATWithdrawalResponse ¶
type FIATWithdrawalResponse struct { ID string `json:"id"` Status string `json:"status"` Reason map[string][]string `json:"reason"` }
FIATWithdrawalResponse response from a fiat withdrawal request
type OHLCResponse ¶
type OHLCResponse struct { Data struct { Pair string `json:"pair"` OHLCV []struct { Timestamp int64 `json:"timestamp,string"` Open float64 `json:"open,string"` High float64 `json:"high,string"` Low float64 `json:"low,string"` Close float64 `json:"close,string"` Volume float64 `json:"volume,string"` } `json:"ohlc"` } `json:"data"` }
OHLCResponse holds returned candle data
type Order ¶
type Order struct { ID int64 `json:"id,string"` DateTime string `json:"datetime"` Type int `json:"type,string"` Price float64 `json:"price,string"` Amount float64 `json:"amount,string"` Currency string `json:"currency_pair"` }
Order holds current open order data
type OrderStatus ¶
type OrderStatus struct { Price float64 `json:"price,string"` Amount float64 `json:"amount,string"` Type int `json:"type"` ID int64 `json:"id,string"` DateTime string `json:"datetime"` Status string Transactions []struct { TradeID int64 `json:"tid"` USD float64 `json:"usd,string"` Price float64 `json:"price,string"` Fee float64 `json:"fee,string"` BTC float64 `json:"btc,string"` } }
OrderStatus holds order status information
type Orderbook ¶
type Orderbook struct { Timestamp int64 `json:"timestamp,string"` Bids []OrderbookBase Asks []OrderbookBase }
Orderbook holds orderbook information
type OrderbookBase ¶
OrderbookBase holds singular price information
type Ticker ¶
type Ticker struct { Last float64 `json:"last,string"` High float64 `json:"high,string"` Low float64 `json:"low,string"` Vwap float64 `json:"vwap,string"` Volume float64 `json:"volume,string"` Bid float64 `json:"bid,string"` Ask float64 `json:"ask,string"` Timestamp int64 `json:"timestamp,string"` Open float64 `json:"open,string"` }
Ticker holds ticker information
type TradingPair ¶
type TradingPair struct { Name string `json:"name"` URLSymbol string `json:"url_symbol"` BaseDecimals int `json:"base_decimals"` CounterDecimals int `json:"counter_decimals"` MinimumOrder string `json:"minimum_order"` Trading string `json:"trading"` Description string `json:"description"` }
TradingPair holds trading pair information
type Transactions ¶
type Transactions struct { Date int64 `json:"date,string"` TradeID int64 `json:"tid,string"` Price float64 `json:"price,string"` Type int `json:"type,string"` Amount float64 `json:"amount,string"` }
Transactions holds transaction data
type UnconfirmedBTCTransactions ¶
type UnconfirmedBTCTransactions struct { Amount float64 `json:"amount,string"` Address string `json:"address"` Confirmations int `json:"confirmations"` }
UnconfirmedBTCTransactions holds address information about unconfirmed transactions
type UserTransactions ¶
type UserTransactions struct { Date string `json:"datetime"` TransactionID int64 `json:"id"` Type int `json:"type,string"` USD float64 `json:"usd"` EUR float64 `json:"eur"` BTC float64 `json:"btc"` XRP float64 `json:"xrp"` BTCUSD float64 `json:"btc_usd"` Fee float64 `json:"fee,string"` OrderID int64 `json:"order_id"` }
UserTransactions holds user transaction information
type WithdrawalRequests ¶
type WithdrawalRequests struct { OrderID int64 `json:"id"` Date string `json:"datetime"` Type int `json:"type"` Amount float64 `json:"amount,string"` Status int `json:"status"` Data interface{} Address string `json:"address"` // Bitcoin withdrawals only TransactionID string `json:"transaction_id"` // Bitcoin withdrawals only }
WithdrawalRequests holds request information on withdrawals