bot18
Version:
A high-frequency cryptocurrency trading bot by Zenbot creator @carlos8f
574 lines (439 loc) • 21.1 kB
Markdown
<a name="RESTv2"></a>
## RESTv2
Communicates with v2 of the Bitfinex HTTP API
**Kind**: global class
* [RESTv2](#RESTv2)
* [new RESTv2(opts)](#new_RESTv2_new)
* [.ticker(symbol, cb)](#RESTv2+ticker) ⇒ <code>Promise</code>
* [.tickers(symbols, cb)](#RESTv2+tickers) ⇒ <code>Promise</code>
* [.stats(key, context, cb)](#RESTv2+stats) ⇒ <code>Promise</code>
* [.candles(opts, cb)](#RESTv2+candles) ⇒ <code>Promise</code>
* [.alertList(type, cb)](#RESTv2+alertList) ⇒ <code>Promise</code>
* [.alertSet(type, symbol, price)](#RESTv2+alertSet) ⇒ <code>Promise</code>
* [.alertDelete(symbol, price)](#RESTv2+alertDelete) ⇒ <code>Promise</code>
* [.trades(symbol, start, end, limit, cb)](#RESTv2+trades) ⇒ <code>Promise</code>
* [.wallets(cb)](#RESTv2+wallets) ⇒ <code>Promise</code>
* [.activeOrders(cb)](#RESTv2+activeOrders) ⇒ <code>Promise</code>
* [.orderHistory(symbol, start, end, limit, cb)](#RESTv2+orderHistory) ⇒ <code>Promise</code>
* [.orderTrades(symbol, start, end, limit, orderID, cb)](#RESTv2+orderTrades) ⇒ <code>Promise</code>
* [.positions(cb)](#RESTv2+positions) ⇒ <code>Promise</code>
* [.fundingOffers(symbol, cb)](#RESTv2+fundingOffers) ⇒ <code>Promise</code>
* [.fundingOfferHistory(symbol, start, end, limit, cb)](#RESTv2+fundingOfferHistory) ⇒ <code>Promise</code>
* [.fundingLoans(symbol, cb)](#RESTv2+fundingLoans) ⇒ <code>Promise</code>
* [.fundingLoanHistory(symbol, start, end, limit, cb)](#RESTv2+fundingLoanHistory) ⇒ <code>Promise</code>
* [.fundingCredits(symbol, cb)](#RESTv2+fundingCredits) ⇒ <code>Promise</code>
* [.fundingCreditHistory(symbol, start, end, limit, cb)](#RESTv2+fundingCreditHistory) ⇒ <code>Promise</code>
* [.fundingTrades(symbol, start, end, limit, cb)](#RESTv2+fundingTrades) ⇒ <code>Promise</code>
* [.marginInfo(key, cb)](#RESTv2+marginInfo) ⇒ <code>Promise</code>
* [.fundingInfo(key, cb)](#RESTv2+fundingInfo) ⇒ <code>Promise</code>
* [.performance(cb)](#RESTv2+performance) ⇒ <code>Promise</code>
* [.calcAvailableBalance(symbol, dir, rate, type, cb)](#RESTv2+calcAvailableBalance) ⇒ <code>Promise</code>
* ~~[.symbols(cb)](#RESTv2+symbols) ⇒ <code>Promise</code>~~
* ~~[.symbolDetails(cb)](#RESTv2+symbolDetails) ⇒ <code>Promise</code>~~
* ~~[.accountInfo(cb)](#RESTv2+accountInfo) ⇒ <code>Promise</code>~~
* ~~[.accountFees(cb)](#RESTv2+accountFees) ⇒ <code>Promise</code>~~
* ~~[.accountSummary(cb)](#RESTv2+accountSummary) ⇒ <code>Promise</code>~~
* ~~[.deposit(params, cb)](#RESTv2+deposit) ⇒ <code>Promise</code>~~
* ~~[.withdraw(params, cb)](#RESTv2+withdraw) ⇒ <code>Promise</code>~~
* ~~[.transfer(params, cb)](#RESTv2+transfer) ⇒ <code>Promise</code>~~
* ~~[.keyPermissions(cb)](#RESTv2+keyPermissions) ⇒ <code>Promise</code>~~
* ~~[.balances(cb)](#RESTv2+balances) ⇒ <code>Promise</code>~~
* ~~[.claimPosition(params, cb)](#RESTv2+claimPosition) ⇒ <code>Promise</code>~~
<a name="new_RESTv2_new"></a>
### new RESTv2(opts)
Instantiate a new REST v2 transport.
| Param | Type | Description |
| --- | --- | --- |
| opts | <code>Object</code> | |
| opts.apiKey | <code>string</code> | |
| opts.apiSecret | <code>string</code> | |
| opts.url | <code>string</code> | endpoint URL |
| opts.transform | <code>boolean</code> | default false |
| opts.agent | <code>Object</code> | optional node agent for connection (proxy) |
<a name="RESTv2+ticker"></a>
### resTv2.ticker(symbol, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-public-ticker
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+tickers"></a>
### resTv2.tickers(symbols, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-public-tickers
| Param | Type |
| --- | --- |
| symbols | <code>Array.<string></code> |
| cb | <code>Method</code> |
<a name="RESTv2+stats"></a>
### resTv2.stats(key, context, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-public-stats
| Param | Type | Default |
| --- | --- | --- |
| key | <code>string</code> | <code>"pos.size:1m:tBTCUSD:long"</code> |
| context | <code>string</code> | <code>"hist"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+candles"></a>
### resTv2.candles(opts, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: http://docs.bitfinex.com/v2/reference#rest-public-candles
| Param | Type | Description |
| --- | --- | --- |
| opts | <code>Object</code> | |
| opts.timeframe | <code>string</code> | 1m, 5m, 15m, 30m, 1h, 3h, 6h, 12h, 1D, 7D, 14D, 1M |
| opts.symbol | <code>string</code> | |
| opts.section | <code>string</code> | hist, last |
| cb | <code>Method</code> | |
<a name="RESTv2+alertList"></a>
### resTv2.alertList(type, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-alert-list
| Param | Type | Default |
| --- | --- | --- |
| type | <code>string</code> | <code>"price"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+alertSet"></a>
### resTv2.alertSet(type, symbol, price) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-alert-set
| Param | Type | Default |
| --- | --- | --- |
| type | <code>string</code> | <code>"price"</code> |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| price | <code>number</code> | <code>0</code> |
<a name="RESTv2+alertDelete"></a>
### resTv2.alertDelete(symbol, price) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-alert-delete
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| price | <code>number</code> | <code>0</code> |
<a name="RESTv2+trades"></a>
### resTv2.trades(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-trades-hist
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+wallets"></a>
### resTv2.wallets(cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-wallets
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+activeOrders"></a>
### resTv2.activeOrders(cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-orders
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+orderHistory"></a>
### resTv2.orderHistory(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#orders-history
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+orderTrades"></a>
### resTv2.orderTrades(symbol, start, end, limit, orderID, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-order-trades
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| orderID | <code>number</code> | |
| cb | <code>Method</code> | |
<a name="RESTv2+positions"></a>
### resTv2.positions(cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-positions
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+fundingOffers"></a>
### resTv2.fundingOffers(symbol, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-offers
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"fUSD"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingOfferHistory"></a>
### resTv2.fundingOfferHistory(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-offers-hist
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingLoans"></a>
### resTv2.fundingLoans(symbol, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-loans
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"fUSD"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingLoanHistory"></a>
### resTv2.fundingLoanHistory(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-loans-hist
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingCredits"></a>
### resTv2.fundingCredits(symbol, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-credits
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"fUSD"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingCreditHistory"></a>
### resTv2.fundingCreditHistory(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-credits-hist
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingTrades"></a>
### resTv2.fundingTrades(symbol, start, end, limit, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-funding-trades-hist
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| start | <code>number</code> | <code></code> |
| end | <code>number</code> | <code></code> |
| limit | <code>number</code> | <code></code> |
| cb | <code>Method</code> | |
<a name="RESTv2+marginInfo"></a>
### resTv2.marginInfo(key, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-info-margin
| Param | Type | Default |
| --- | --- | --- |
| key | <code>string</code> | <code>"base"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+fundingInfo"></a>
### resTv2.fundingInfo(key, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-info-funding
| Param | Type | Default |
| --- | --- | --- |
| key | <code>string</code> | <code>"fUSD"</code> |
| cb | <code>Method</code> | |
<a name="RESTv2+performance"></a>
### resTv2.performance(cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-performance
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+calcAvailableBalance"></a>
### resTv2.calcAvailableBalance(symbol, dir, rate, type, cb) ⇒ <code>Promise</code>
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v2/reference#rest-auth-calc-bal-avail
| Param | Type | Default |
| --- | --- | --- |
| symbol | <code>string</code> | <code>"tBTCUSD"</code> |
| dir | <code>string</code> | |
| rate | <code>number</code> | |
| type | <code>string</code> | |
| cb | <code>Method</code> | |
<a name="RESTv2+symbols"></a>
### ~~resTv2.symbols(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Get a list of valid symbol names
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-public-symbols
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+symbolDetails"></a>
### ~~resTv2.symbolDetails(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Get a list of valid symbol names and details
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-public-symbol-details
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+accountInfo"></a>
### ~~resTv2.accountInfo(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Request information about your account
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-account-info
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+accountFees"></a>
### ~~resTv2.accountFees(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Request account withdrawl fees
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-fees
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+accountSummary"></a>
### ~~resTv2.accountSummary(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Returns a 30-day summary of your trading volume and return on margin
funding.
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-summary
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+deposit"></a>
### ~~resTv2.deposit(params, cb) ⇒ <code>Promise</code>~~
***Deprecated***
Request a deposit address
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-deposit
| Param | Type | Description |
| --- | --- | --- |
| params | <code>Object</code> | |
| params.request | <code>string</code> | |
| params.nonce | <code>string</code> | |
| params.method | <code>string</code> | name of currency |
| params.wallet_name | <code>string</code> | 'trading', 'exchange' or 'deposit' |
| params.renew | <code>number</code> | 1 or 0 |
| cb | <code>Method</code> | |
<a name="RESTv2+withdraw"></a>
### ~~resTv2.withdraw(params, cb) ⇒ <code>Promise</code>~~
***Deprecated***
Requests a withdrawl from a wallet
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-withdrawal
| Param | Type | Description |
| --- | --- | --- |
| params | <code>Object</code> | |
| params.withdraw_type | <code>string</code> | name of currency |
| params.walletselected | <code>string</code> | 'trading', 'exchange, or 'deposit' |
| params.amount | <code>string</code> | |
| params.address | <code>string</code> | |
| params.payment_id | <code>string</code> | optional, for monero |
| params.account_name | <code>string</code> | |
| params.account_number | <code>string</code> | |
| params.swift | <code>string</code> | |
| params.bank_name | <code>string</code> | |
| params.bank_address | <code>string</code> | |
| params.bank_city | <code>string</code> | |
| params.bank_country | <code>string</code> | |
| params.detail_payment | <code>string</code> | message to beneficiary |
| params.expressWire | <code>number</code> | 1 or 0 |
| params.intermediary_bank_name | <code>string</code> | |
| params.intermediary_bank_address | <code>string</code> | |
| params.intermediary_bank_city | <code>string</code> | |
| params.intermediary_bank_country | <code>string</code> | |
| params.intermediary_bank_account | <code>string</code> | |
| params.intermediary_bank_swift | <code>string</code> | |
| cb | <code>Method</code> | |
<a name="RESTv2+transfer"></a>
### ~~resTv2.transfer(params, cb) ⇒ <code>Promise</code>~~
***Deprecated***
Execute a balance transfer between wallets
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-transfer-between-wallets
| Param | Type | Description |
| --- | --- | --- |
| params | <code>Object</code> | |
| params.amount | <code>number</code> | amount to transfer |
| params.currency | <code>string</code> | currency of funds to transfer |
| params.walletFrom | <code>string</code> | wallet to transfer from |
| params.walletTo | <code>string</code> | wallet to transfer to |
| cb | <code>Method</code> | |
<a name="RESTv2+keyPermissions"></a>
### ~~resTv2.keyPermissions(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Fetch the permissions of the key being used to generate this request
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#auth-key-permissions
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+balances"></a>
### ~~resTv2.balances(cb) ⇒ <code>Promise</code>~~
***Deprecated***
Request your wallet balances
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-wallet-balances
| Param | Type |
| --- | --- |
| cb | <code>Method</code> |
<a name="RESTv2+claimPosition"></a>
### ~~resTv2.claimPosition(params, cb) ⇒ <code>Promise</code>~~
***Deprecated***
**Kind**: instance method of <code>[RESTv2](#RESTv2)</code>
**Returns**: <code>Promise</code> - p
**See**: https://docs.bitfinex.com/v1/reference#rest-auth-claim-position
| Param | Type |
| --- | --- |
| params | <code>Object</code> |
| params.position_id | <code>number</code> |
| params.amount | <code>number</code> |
| cb | <code>Method</code> |