341 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			341 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package ccxt
 | 
						|
 | 
						|
type Zaif struct {
 | 
						|
   *zaif
 | 
						|
   Core *zaif
 | 
						|
}
 | 
						|
 | 
						|
func NewZaif(userConfig map[string]interface{}) Zaif {
 | 
						|
   p := &zaif{}
 | 
						|
   p.Init(userConfig)
 | 
						|
   return Zaif{
 | 
						|
       zaif: p,
 | 
						|
       Core:  p,
 | 
						|
   }
 | 
						|
}
 | 
						|
 | 
						|
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
 | 
						|
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchMarkets
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id12
 | 
						|
 * @description retrieves data on all markets for zaif
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object[]} an array of objects representing market data
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchMarkets(params ...interface{}) ([]MarketInterface, error) {
 | 
						|
    res := <- this.Core.FetchMarkets(params...)
 | 
						|
    if IsError(res) {
 | 
						|
        return nil, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewMarketInterfaceArray(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchBalance
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id10
 | 
						|
 * @description query for balance and get the amount of funds available for trading or funds locked in orders
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchBalance(params ...interface{}) (Balances, error) {
 | 
						|
    res := <- this.Core.FetchBalance(params...)
 | 
						|
    if IsError(res) {
 | 
						|
        return Balances{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewBalances(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchOrderBook
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id34
 | 
						|
 * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
 | 
						|
 * @param {string} symbol unified symbol of the market to fetch the order book for
 | 
						|
 * @param {int} [limit] the maximum amount of order book entries to return
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} A dictionary of [order book structures]{@link https://docs.ccxt.com/#/?id=order-book-structure} indexed by market symbols
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchOrderBook(symbol string, options ...FetchOrderBookOptions) (OrderBook, error) {
 | 
						|
 | 
						|
    opts := FetchOrderBookOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var limit interface{} = nil
 | 
						|
    if opts.Limit != nil {
 | 
						|
        limit = *opts.Limit
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.FetchOrderBook(symbol, limit, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return OrderBook{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewOrderBook(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchTicker
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id22
 | 
						|
 * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
 | 
						|
 * @param {string} symbol unified symbol of the market to fetch the ticker for
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchTicker(symbol string, options ...FetchTickerOptions) (Ticker, error) {
 | 
						|
 | 
						|
    opts := FetchTickerOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.FetchTicker(symbol, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return Ticker{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewTicker(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchTrades
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/PublicAPI.html#id28
 | 
						|
 * @description get the list of most recent trades for a particular symbol
 | 
						|
 * @param {string} symbol unified symbol of the market to fetch trades for
 | 
						|
 * @param {int} [since] timestamp in ms of the earliest trade to fetch
 | 
						|
 * @param {int} [limit] the maximum amount of trades to fetch
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=public-trades}
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchTrades(symbol string, options ...FetchTradesOptions) ([]Trade, error) {
 | 
						|
 | 
						|
    opts := FetchTradesOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var since interface{} = nil
 | 
						|
    if opts.Since != nil {
 | 
						|
        since = *opts.Since
 | 
						|
    }
 | 
						|
 | 
						|
    var limit interface{} = nil
 | 
						|
    if opts.Limit != nil {
 | 
						|
        limit = *opts.Limit
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.FetchTrades(symbol, since, limit, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return nil, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewTradeArray(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#createOrder
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id23
 | 
						|
 * @description create a trade order
 | 
						|
 * @param {string} symbol unified symbol of the market to create an order in
 | 
						|
 * @param {string} type must be 'limit'
 | 
						|
 * @param {string} side 'buy' or 'sell'
 | 
						|
 * @param {float} amount how much of currency you want to trade in units of base currency
 | 
						|
 * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) CreateOrder(symbol string, typeVar string, side string, amount float64, options ...CreateOrderOptions) (Order, error) {
 | 
						|
 | 
						|
    opts := CreateOrderOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var price interface{} = nil
 | 
						|
    if opts.Price != nil {
 | 
						|
        price = *opts.Price
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.CreateOrder(symbol, typeVar, side, amount, price, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return Order{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewOrder(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#cancelOrder
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id37
 | 
						|
 * @description cancels an open order
 | 
						|
 * @param {string} id order id
 | 
						|
 * @param {string} symbol not used by zaif cancelOrder ()
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) CancelOrder(id string, options ...CancelOrderOptions) (Order, error) {
 | 
						|
 | 
						|
    opts := CancelOrderOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var symbol interface{} = nil
 | 
						|
    if opts.Symbol != nil {
 | 
						|
        symbol = *opts.Symbol
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.CancelOrder(id, symbol, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return Order{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewOrder(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchOpenOrders
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/MarginTradingAPI.html#id28
 | 
						|
 * @description fetch all unfilled currently open orders
 | 
						|
 * @param {string} symbol unified market symbol
 | 
						|
 * @param {int} [since] the earliest time in ms to fetch open orders for
 | 
						|
 * @param {int} [limit] the maximum number of  open orders structures to retrieve
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchOpenOrders(options ...FetchOpenOrdersOptions) ([]Order, error) {
 | 
						|
 | 
						|
    opts := FetchOpenOrdersOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var symbol interface{} = nil
 | 
						|
    if opts.Symbol != nil {
 | 
						|
        symbol = *opts.Symbol
 | 
						|
    }
 | 
						|
 | 
						|
    var since interface{} = nil
 | 
						|
    if opts.Since != nil {
 | 
						|
        since = *opts.Since
 | 
						|
    }
 | 
						|
 | 
						|
    var limit interface{} = nil
 | 
						|
    if opts.Limit != nil {
 | 
						|
        limit = *opts.Limit
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.FetchOpenOrders(symbol, since, limit, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return nil, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewOrderArray(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#fetchClosedOrders
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id24
 | 
						|
 * @description fetches information on multiple closed orders made by the user
 | 
						|
 * @param {string} symbol unified market symbol of the market orders were made in
 | 
						|
 * @param {int} [since] the earliest time in ms to fetch orders for
 | 
						|
 * @param {int} [limit] the maximum number of order structures to retrieve
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) FetchClosedOrders(options ...FetchClosedOrdersOptions) ([]Order, error) {
 | 
						|
 | 
						|
    opts := FetchClosedOrdersOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var symbol interface{} = nil
 | 
						|
    if opts.Symbol != nil {
 | 
						|
        symbol = *opts.Symbol
 | 
						|
    }
 | 
						|
 | 
						|
    var since interface{} = nil
 | 
						|
    if opts.Since != nil {
 | 
						|
        since = *opts.Since
 | 
						|
    }
 | 
						|
 | 
						|
    var limit interface{} = nil
 | 
						|
    if opts.Limit != nil {
 | 
						|
        limit = *opts.Limit
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.FetchClosedOrders(symbol, since, limit, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return nil, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewOrderArray(res), nil
 | 
						|
}
 | 
						|
/**
 | 
						|
 * @method
 | 
						|
 * @name zaif#withdraw
 | 
						|
 * @see https://zaif-api-document.readthedocs.io/ja/latest/TradingAPI.html#id41
 | 
						|
 * @description make a withdrawal
 | 
						|
 * @param {string} code unified currency code
 | 
						|
 * @param {float} amount the amount to withdraw
 | 
						|
 * @param {string} address the address to withdraw to
 | 
						|
 * @param {string} tag
 | 
						|
 * @param {object} [params] extra parameters specific to the exchange API endpoint
 | 
						|
 * @returns {object} a [transaction structure]{@link https://docs.ccxt.com/#/?id=transaction-structure}
 | 
						|
 */
 | 
						|
func (this *Zaif) Withdraw(code string, amount float64, address string, options ...WithdrawOptions) (Transaction, error) {
 | 
						|
 | 
						|
    opts := WithdrawOptionsStruct{}
 | 
						|
 | 
						|
    for _, opt := range options {
 | 
						|
        opt(&opts)
 | 
						|
    }
 | 
						|
 | 
						|
    var tag interface{} = nil
 | 
						|
    if opts.Tag != nil {
 | 
						|
        tag = *opts.Tag
 | 
						|
    }
 | 
						|
 | 
						|
    var params interface{} = nil
 | 
						|
    if opts.Params != nil {
 | 
						|
        params = *opts.Params
 | 
						|
    }
 | 
						|
    res := <- this.Core.Withdraw(code, amount, address, tag, params)
 | 
						|
    if IsError(res) {
 | 
						|
        return Transaction{}, CreateReturnError(res)
 | 
						|
    }
 | 
						|
    return NewTransaction(res), nil
 | 
						|
} |