ccxt 4.4.47 → 4.4.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/ccxt.browser.min.js +16 -16
- package/dist/cjs/ccxt.js +1 -1
- package/dist/cjs/src/ace.js +1 -1
- package/dist/cjs/src/binance.js +18 -14
- package/dist/cjs/src/bitget.js +4 -2
- package/dist/cjs/src/bitmart.js +7 -2
- package/dist/cjs/src/bitmex.js +8 -5
- package/dist/cjs/src/bybit.js +7 -2
- package/dist/cjs/src/coinbase.js +11 -1
- package/dist/cjs/src/coincatch.js +86 -2
- package/dist/cjs/src/coincheck.js +52 -0
- package/dist/cjs/src/coinlist.js +77 -0
- package/dist/cjs/src/coinmate.js +63 -0
- package/dist/cjs/src/coinmetro.js +68 -0
- package/dist/cjs/src/coinone.js +56 -0
- package/dist/cjs/src/coinsph.js +67 -1
- package/dist/cjs/src/coinspot.js +47 -0
- package/dist/cjs/src/currencycom.js +72 -0
- package/dist/cjs/src/defx.js +93 -6
- package/dist/cjs/src/delta.js +83 -1
- package/dist/cjs/src/gate.js +10 -1
- package/dist/cjs/src/htx.js +10 -2
- package/dist/cjs/src/hyperliquid.js +6 -1
- package/dist/cjs/src/independentreserve.js +60 -0
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +4 -4
- package/dist/cjs/src/okx.js +9 -1
- package/dist/cjs/src/paradex.js +5 -2
- package/dist/cjs/src/phemex.js +103 -0
- package/dist/cjs/src/poloniex.js +61 -0
- package/dist/cjs/src/poloniexfutures.js +74 -0
- package/dist/cjs/src/upbit.js +61 -0
- package/dist/cjs/src/woo.js +6 -1
- package/js/ccxt.d.ts +1 -1
- package/js/ccxt.js +1 -1
- package/js/src/abstract/independentreserve.d.ts +6 -0
- package/js/src/ace.js +1 -1
- package/js/src/binance.d.ts +7 -0
- package/js/src/binance.js +18 -14
- package/js/src/bitget.js +4 -2
- package/js/src/bitmart.js +7 -2
- package/js/src/bitmex.js +8 -5
- package/js/src/bybit.d.ts +1 -1
- package/js/src/bybit.js +7 -2
- package/js/src/coinbase.d.ts +1 -0
- package/js/src/coinbase.js +11 -1
- package/js/src/coincatch.d.ts +1 -2
- package/js/src/coincatch.js +86 -2
- package/js/src/coincheck.js +52 -0
- package/js/src/coinlist.js +77 -0
- package/js/src/coinmate.js +63 -0
- package/js/src/coinmetro.js +68 -0
- package/js/src/coinone.js +56 -0
- package/js/src/coinsph.d.ts +1 -1
- package/js/src/coinsph.js +67 -1
- package/js/src/coinspot.js +47 -0
- package/js/src/currencycom.js +72 -0
- package/js/src/defx.js +93 -6
- package/js/src/delta.js +83 -1
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +10 -1
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +10 -2
- package/js/src/hyperliquid.js +6 -1
- package/js/src/independentreserve.js +60 -0
- package/js/src/kraken.js +1 -1
- package/js/src/krakenfutures.js +4 -4
- package/js/src/okx.d.ts +1 -0
- package/js/src/okx.js +9 -1
- package/js/src/paradex.js +5 -2
- package/js/src/phemex.js +103 -0
- package/js/src/poloniex.js +61 -0
- package/js/src/poloniexfutures.js +74 -0
- package/js/src/upbit.js +61 -0
- package/js/src/woo.js +6 -1
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -202,7 +202,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
202
202
|
|
|
203
203
|
//-----------------------------------------------------------------------------
|
|
204
204
|
// this is updated by vss.js when building
|
|
205
|
-
const version = '4.4.
|
|
205
|
+
const version = '4.4.48';
|
|
206
206
|
Exchange["default"].ccxtVersion = version;
|
|
207
207
|
const exchanges = {
|
|
208
208
|
'ace': ace,
|
package/dist/cjs/src/ace.js
CHANGED
|
@@ -475,7 +475,7 @@ class ace extends ace$1 {
|
|
|
475
475
|
// }
|
|
476
476
|
//
|
|
477
477
|
const orderBook = this.safeDict(response, 'attachment');
|
|
478
|
-
return this.parseOrderBook(orderBook, market['symbol'], undefined, 'bids', 'asks');
|
|
478
|
+
return this.parseOrderBook(orderBook, market['symbol'], undefined, 'bids', 'asks', 1, 0);
|
|
479
479
|
}
|
|
480
480
|
parseOHLCV(ohlcv, market = undefined) {
|
|
481
481
|
//
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -9870,20 +9870,24 @@ class binance extends binance$1 {
|
|
|
9870
9870
|
// "fundingTime": "1621267200000",
|
|
9871
9871
|
// }
|
|
9872
9872
|
//
|
|
9873
|
-
|
|
9874
|
-
|
|
9875
|
-
|
|
9876
|
-
|
|
9877
|
-
|
|
9878
|
-
|
|
9879
|
-
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9884
|
-
|
|
9885
|
-
|
|
9886
|
-
|
|
9873
|
+
return this.parseFundingRateHistories(response, market, since, limit);
|
|
9874
|
+
}
|
|
9875
|
+
parseFundingRateHistory(contract, market = undefined) {
|
|
9876
|
+
//
|
|
9877
|
+
// {
|
|
9878
|
+
// "symbol": "BTCUSDT",
|
|
9879
|
+
// "fundingRate": "0.00063521",
|
|
9880
|
+
// "fundingTime": "1621267200000",
|
|
9881
|
+
// }
|
|
9882
|
+
//
|
|
9883
|
+
const timestamp = this.safeInteger(contract, 'fundingTime');
|
|
9884
|
+
return {
|
|
9885
|
+
'info': contract,
|
|
9886
|
+
'symbol': this.safeSymbol(this.safeString(contract, 'symbol'), undefined, undefined, 'swap'),
|
|
9887
|
+
'fundingRate': this.safeNumber(contract, 'fundingRate'),
|
|
9888
|
+
'timestamp': timestamp,
|
|
9889
|
+
'datetime': this.iso8601(timestamp),
|
|
9890
|
+
};
|
|
9887
9891
|
}
|
|
9888
9892
|
/**
|
|
9889
9893
|
* @method
|
package/dist/cjs/src/bitget.js
CHANGED
|
@@ -4332,8 +4332,10 @@ class bitget extends bitget$1 {
|
|
|
4332
4332
|
if (!market['spot']) {
|
|
4333
4333
|
throw new errors.NotSupported(this.id + ' createMarketBuyOrderWithCost() supports spot orders only');
|
|
4334
4334
|
}
|
|
4335
|
-
|
|
4336
|
-
|
|
4335
|
+
const req = {
|
|
4336
|
+
'createMarketBuyOrderRequiresPrice': false,
|
|
4337
|
+
};
|
|
4338
|
+
return await this.createOrder(symbol, 'market', 'buy', cost, undefined, this.extend(req, params));
|
|
4337
4339
|
}
|
|
4338
4340
|
/**
|
|
4339
4341
|
* @method
|
package/dist/cjs/src/bitmart.js
CHANGED
|
@@ -526,6 +526,8 @@ class bitmart extends bitmart$1 {
|
|
|
526
526
|
'defaultNetworks': {
|
|
527
527
|
'USDT': 'ERC20',
|
|
528
528
|
},
|
|
529
|
+
'timeDifference': 0,
|
|
530
|
+
'adjustForTimeDifference': false,
|
|
529
531
|
'networks': {
|
|
530
532
|
'ERC20': 'ERC20',
|
|
531
533
|
'SOL': 'SOL',
|
|
@@ -1140,6 +1142,9 @@ class bitmart extends bitmart$1 {
|
|
|
1140
1142
|
* @returns {object[]} an array of objects representing market data
|
|
1141
1143
|
*/
|
|
1142
1144
|
async fetchMarkets(params = {}) {
|
|
1145
|
+
if (this.options['adjustForTimeDifference']) {
|
|
1146
|
+
await this.loadTimeDifference();
|
|
1147
|
+
}
|
|
1143
1148
|
const spot = await this.fetchSpotMarkets(params);
|
|
1144
1149
|
const contract = await this.fetchContractMarkets(params);
|
|
1145
1150
|
return this.arrayConcat(spot, contract);
|
|
@@ -5300,7 +5305,7 @@ class bitmart extends bitmart$1 {
|
|
|
5300
5305
|
return this.filterBySinceLimit(sorted, since, limit);
|
|
5301
5306
|
}
|
|
5302
5307
|
nonce() {
|
|
5303
|
-
return this.milliseconds();
|
|
5308
|
+
return this.milliseconds() - this.options['timeDifference'];
|
|
5304
5309
|
}
|
|
5305
5310
|
sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
5306
5311
|
const parts = path.split('/');
|
|
@@ -5320,7 +5325,7 @@ class bitmart extends bitmart$1 {
|
|
|
5320
5325
|
}
|
|
5321
5326
|
if (api === 'private') {
|
|
5322
5327
|
this.checkRequiredCredentials();
|
|
5323
|
-
const timestamp = this.
|
|
5328
|
+
const timestamp = this.nonce().toString();
|
|
5324
5329
|
const brokerId = this.safeString(this.options, 'brokerId', 'CCXTxBitmart000');
|
|
5325
5330
|
headers = {
|
|
5326
5331
|
'X-BM-KEY': this.apiKey,
|
package/dist/cjs/src/bitmex.js
CHANGED
|
@@ -299,9 +299,11 @@ class bitmex extends bitmex$1 {
|
|
|
299
299
|
'trailing': true,
|
|
300
300
|
'marketBuyRequiresPrice': false,
|
|
301
301
|
'marketBuyByCost': false,
|
|
302
|
-
|
|
303
|
-
'selfTradePrevention':
|
|
304
|
-
'
|
|
302
|
+
// exchange-supported features
|
|
303
|
+
// 'selfTradePrevention': true,
|
|
304
|
+
// 'twap': false,
|
|
305
|
+
// 'iceberg': false,
|
|
306
|
+
// 'oco': false,
|
|
305
307
|
},
|
|
306
308
|
'createOrders': undefined,
|
|
307
309
|
'fetchMyTrades': {
|
|
@@ -332,7 +334,7 @@ class bitmex extends bitmex$1 {
|
|
|
332
334
|
'fetchClosedOrders': {
|
|
333
335
|
'marginMode': false,
|
|
334
336
|
'limit': 500,
|
|
335
|
-
'
|
|
337
|
+
'daysBackClosed': undefined,
|
|
336
338
|
'daysBackCanceled': undefined,
|
|
337
339
|
'untilDays': 1000000,
|
|
338
340
|
'trigger': false,
|
|
@@ -2608,7 +2610,8 @@ class bitmex extends bitmex$1 {
|
|
|
2608
2610
|
}
|
|
2609
2611
|
}
|
|
2610
2612
|
symbols = this.marketSymbols(symbols);
|
|
2611
|
-
|
|
2613
|
+
const result = this.parseFundingRates(filteredResponse);
|
|
2614
|
+
return this.filterByArray(result, 'symbol', symbols);
|
|
2612
2615
|
}
|
|
2613
2616
|
parseFundingRate(contract, market = undefined) {
|
|
2614
2617
|
// see response sample under "fetchMarkets" because same endpoint is being used here
|
package/dist/cjs/src/bybit.js
CHANGED
|
@@ -3333,7 +3333,12 @@ class bybit extends bybit$1 {
|
|
|
3333
3333
|
account['free'] = free;
|
|
3334
3334
|
}
|
|
3335
3335
|
else {
|
|
3336
|
-
|
|
3336
|
+
const locked = this.safeString(coinEntry, 'locked', '0');
|
|
3337
|
+
const totalPositionIm = this.safeString(coinEntry, 'totalPositionIM', '0');
|
|
3338
|
+
const totalOrderIm = this.safeString(coinEntry, 'totalOrderIM', '0');
|
|
3339
|
+
let totalUsed = Precise["default"].stringAdd(locked, totalPositionIm);
|
|
3340
|
+
totalUsed = Precise["default"].stringAdd(totalUsed, totalOrderIm);
|
|
3341
|
+
account['used'] = totalUsed;
|
|
3337
3342
|
}
|
|
3338
3343
|
// account['used'] = this.safeString (coinEntry, 'locked');
|
|
3339
3344
|
const currencyId = this.safeString(coinEntry, 'coin');
|
|
@@ -3858,7 +3863,7 @@ class bybit extends bybit$1 {
|
|
|
3858
3863
|
* @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
|
|
3859
3864
|
* @param {string} [params.positionIdx] *contracts only* 0 for one-way mode, 1 buy side of hedged mode, 2 sell side of hedged mode
|
|
3860
3865
|
* @param {bool} [params.hedged] *contracts only* true for hedged mode, false for one way mode, default is false
|
|
3861
|
-
* @param {
|
|
3866
|
+
* @param {int} [params.isLeverage] *unified spot only* false then spot trading true then margin trading
|
|
3862
3867
|
* @param {string} [params.tpslMode] *contract only* 'full' or 'partial'
|
|
3863
3868
|
* @param {string} [params.mmp] *option only* market maker protection
|
|
3864
3869
|
* @param {string} [params.triggerDirection] *contract only* the direction for trigger orders, 'above' or 'below'
|
package/dist/cjs/src/coinbase.js
CHANGED
|
@@ -367,6 +367,8 @@ class coinbase extends coinbase$1 {
|
|
|
367
367
|
'createMarketBuyOrderRequiresPrice': true,
|
|
368
368
|
'advanced': true,
|
|
369
369
|
'fetchMarkets': 'fetchMarketsV3',
|
|
370
|
+
'timeDifference': 0,
|
|
371
|
+
'adjustForTimeDifference': false,
|
|
370
372
|
'fetchTicker': 'fetchTickerV3',
|
|
371
373
|
'fetchTickers': 'fetchTickersV3',
|
|
372
374
|
'fetchAccounts': 'fetchAccountsV3',
|
|
@@ -1275,6 +1277,9 @@ class coinbase extends coinbase$1 {
|
|
|
1275
1277
|
* @returns {object[]} an array of objects representing market data
|
|
1276
1278
|
*/
|
|
1277
1279
|
async fetchMarkets(params = {}) {
|
|
1280
|
+
if (this.options['adjustForTimeDifference']) {
|
|
1281
|
+
await this.loadTimeDifference();
|
|
1282
|
+
}
|
|
1278
1283
|
const method = this.safeString(this.options, 'fetchMarkets', 'fetchMarketsV3');
|
|
1279
1284
|
if (method === 'fetchMarketsV3') {
|
|
1280
1285
|
return await this.fetchMarketsV3(params);
|
|
@@ -4881,6 +4886,9 @@ class coinbase extends coinbase$1 {
|
|
|
4881
4886
|
const token = rsa.jwt(request, this.encode(this.secret), sha256.sha256, false, { 'kid': this.apiKey, 'nonce': nonce, 'alg': 'ES256' });
|
|
4882
4887
|
return token;
|
|
4883
4888
|
}
|
|
4889
|
+
nonce() {
|
|
4890
|
+
return this.milliseconds() - this.options['timeDifference'];
|
|
4891
|
+
}
|
|
4884
4892
|
sign(path, api = [], method = 'GET', params = {}, headers = undefined, body = undefined) {
|
|
4885
4893
|
const version = api[0];
|
|
4886
4894
|
const signed = api[1] === 'private';
|
|
@@ -4953,7 +4961,9 @@ class coinbase extends coinbase$1 {
|
|
|
4953
4961
|
authorizationString = 'Bearer ' + token;
|
|
4954
4962
|
}
|
|
4955
4963
|
else {
|
|
4956
|
-
const
|
|
4964
|
+
const nonce = this.nonce();
|
|
4965
|
+
const timestamp = this.parseToInt(nonce / 1000);
|
|
4966
|
+
const timestampString = timestamp.toString();
|
|
4957
4967
|
const auth = timestampString + method + savedPath + payload;
|
|
4958
4968
|
const signature = this.hmac(this.encode(auth), this.encode(this.secret), sha256.sha256);
|
|
4959
4969
|
headers = {
|
|
@@ -410,6 +410,91 @@ class coincatch extends coincatch$1 {
|
|
|
410
410
|
'CronosChain': 'CRO', // todo check
|
|
411
411
|
},
|
|
412
412
|
},
|
|
413
|
+
'features': {
|
|
414
|
+
'default': {
|
|
415
|
+
'sandbox': false,
|
|
416
|
+
'createOrder': {
|
|
417
|
+
'marginMode': false,
|
|
418
|
+
'triggerPrice': true,
|
|
419
|
+
'triggerPriceType': {
|
|
420
|
+
'last': true,
|
|
421
|
+
'mark': true,
|
|
422
|
+
'index': false,
|
|
423
|
+
},
|
|
424
|
+
'triggerDirection': false,
|
|
425
|
+
'stopLossPrice': false,
|
|
426
|
+
'takeProfitPrice': false,
|
|
427
|
+
'attachedStopLossTakeProfit': undefined,
|
|
428
|
+
'timeInForce': {
|
|
429
|
+
'IOC': true,
|
|
430
|
+
'FOK': true,
|
|
431
|
+
'PO': true,
|
|
432
|
+
'GTD': false,
|
|
433
|
+
},
|
|
434
|
+
'hedged': false,
|
|
435
|
+
'trailing': false,
|
|
436
|
+
'leverage': false,
|
|
437
|
+
'marketBuyByCost': true,
|
|
438
|
+
'marketBuyRequiresPrice': false,
|
|
439
|
+
'selfTradePrevention': false,
|
|
440
|
+
'iceberg': false,
|
|
441
|
+
},
|
|
442
|
+
'createOrders': {
|
|
443
|
+
'max': 50,
|
|
444
|
+
},
|
|
445
|
+
'fetchMyTrades': {
|
|
446
|
+
'marginMode': false,
|
|
447
|
+
'limit': 500,
|
|
448
|
+
'daysBack': 100000,
|
|
449
|
+
'untilDays': 100000, // todo implement
|
|
450
|
+
},
|
|
451
|
+
'fetchOrder': {
|
|
452
|
+
'marginMode': false,
|
|
453
|
+
'trigger': false,
|
|
454
|
+
'trailing': false,
|
|
455
|
+
},
|
|
456
|
+
'fetchOpenOrders': {
|
|
457
|
+
'marginMode': false,
|
|
458
|
+
'limit': 100,
|
|
459
|
+
'trigger': true,
|
|
460
|
+
'trailing': false,
|
|
461
|
+
'marketType': true,
|
|
462
|
+
},
|
|
463
|
+
'fetchOrders': undefined,
|
|
464
|
+
'fetchClosedOrders': undefined,
|
|
465
|
+
'fetchOHLCV': {
|
|
466
|
+
'limit': 1000,
|
|
467
|
+
},
|
|
468
|
+
},
|
|
469
|
+
'spot': {
|
|
470
|
+
'extends': 'default',
|
|
471
|
+
},
|
|
472
|
+
'forDerivatives': {
|
|
473
|
+
'extends': 'default',
|
|
474
|
+
'createOrder': {
|
|
475
|
+
// todo check
|
|
476
|
+
'attachedStopLossTakeProfit': {
|
|
477
|
+
'triggerPriceType': undefined,
|
|
478
|
+
'price': false,
|
|
479
|
+
},
|
|
480
|
+
},
|
|
481
|
+
'fetchMyTrades': {
|
|
482
|
+
'limit': 100,
|
|
483
|
+
},
|
|
484
|
+
},
|
|
485
|
+
'swap': {
|
|
486
|
+
'linear': {
|
|
487
|
+
'extends': 'forDerivatives',
|
|
488
|
+
},
|
|
489
|
+
'inverse': {
|
|
490
|
+
'extends': 'forDerivatives',
|
|
491
|
+
},
|
|
492
|
+
},
|
|
493
|
+
'future': {
|
|
494
|
+
'linear': undefined,
|
|
495
|
+
'inverse': undefined,
|
|
496
|
+
},
|
|
497
|
+
},
|
|
413
498
|
'commonCurrencies': {},
|
|
414
499
|
'exceptions': {
|
|
415
500
|
'exact': {
|
|
@@ -2650,8 +2735,7 @@ class coincatch extends coincatch$1 {
|
|
|
2650
2735
|
* @method
|
|
2651
2736
|
* @name coincatch#createOrders
|
|
2652
2737
|
* @description create a list of trade orders (all orders should be of the same symbol)
|
|
2653
|
-
* @see https://
|
|
2654
|
-
* @see https://hashkeyglobal-apidoc.readme.io/reference/batch-create-new-futures-order
|
|
2738
|
+
* @see https://coincatch.github.io/github.io/en/spot/#batch-order
|
|
2655
2739
|
* @param {Array} orders list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params (max 50 entries)
|
|
2656
2740
|
* @param {object} [params] extra parameters specific to the api endpoint
|
|
2657
2741
|
* @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
|
|
@@ -152,6 +152,58 @@ class coincheck extends coincheck$1 {
|
|
|
152
152
|
// 'LTC/BTC': { 'id': 'ltc_btc', 'symbol': 'LTC/BTC', 'base': 'LTC', 'quote': 'BTC', 'baseId': 'ltc', 'quoteId': 'btc' },
|
|
153
153
|
// 'DASH/BTC': { 'id': 'dash_btc', 'symbol': 'DASH/BTC', 'base': 'DASH', 'quote': 'BTC', 'baseId': 'dash', 'quoteId': 'btc' },
|
|
154
154
|
},
|
|
155
|
+
'features': {
|
|
156
|
+
'spot': {
|
|
157
|
+
'sandbox': false,
|
|
158
|
+
'createOrder': {
|
|
159
|
+
'marginMode': false,
|
|
160
|
+
'triggerPrice': false,
|
|
161
|
+
'triggerPriceType': undefined,
|
|
162
|
+
'triggerDirection': false,
|
|
163
|
+
'stopLossPrice': false,
|
|
164
|
+
'takeProfitPrice': false,
|
|
165
|
+
'attachedStopLossTakeProfit': undefined,
|
|
166
|
+
'timeInForce': {
|
|
167
|
+
'IOC': false,
|
|
168
|
+
'FOK': false,
|
|
169
|
+
'PO': true,
|
|
170
|
+
'GTD': false,
|
|
171
|
+
},
|
|
172
|
+
'hedged': false,
|
|
173
|
+
'trailing': false,
|
|
174
|
+
'leverage': false,
|
|
175
|
+
'marketBuyByCost': false,
|
|
176
|
+
'marketBuyRequiresPrice': false,
|
|
177
|
+
'selfTradePrevention': false,
|
|
178
|
+
'iceberg': false,
|
|
179
|
+
},
|
|
180
|
+
'createOrders': undefined,
|
|
181
|
+
'fetchMyTrades': {
|
|
182
|
+
'marginMode': false,
|
|
183
|
+
'limit': undefined,
|
|
184
|
+
'daysBack': undefined,
|
|
185
|
+
'untilDays': undefined,
|
|
186
|
+
},
|
|
187
|
+
'fetchOrder': undefined,
|
|
188
|
+
'fetchOpenOrders': {
|
|
189
|
+
'marginMode': false,
|
|
190
|
+
'limit': undefined,
|
|
191
|
+
'trigger': false,
|
|
192
|
+
'trailing': false,
|
|
193
|
+
},
|
|
194
|
+
'fetchOrders': undefined,
|
|
195
|
+
'fetchClosedOrders': undefined,
|
|
196
|
+
'fetchOHLCV': undefined,
|
|
197
|
+
},
|
|
198
|
+
'swap': {
|
|
199
|
+
'linear': undefined,
|
|
200
|
+
'inverse': undefined,
|
|
201
|
+
},
|
|
202
|
+
'future': {
|
|
203
|
+
'linear': undefined,
|
|
204
|
+
'inverse': undefined,
|
|
205
|
+
},
|
|
206
|
+
},
|
|
155
207
|
'fees': {
|
|
156
208
|
'trading': {
|
|
157
209
|
'tierBased': false,
|
package/dist/cjs/src/coinlist.js
CHANGED
|
@@ -205,6 +205,83 @@ class coinlist extends coinlist$1 {
|
|
|
205
205
|
},
|
|
206
206
|
},
|
|
207
207
|
},
|
|
208
|
+
'features': {
|
|
209
|
+
'default': {
|
|
210
|
+
'sandbox': false,
|
|
211
|
+
'createOrder': {
|
|
212
|
+
'marginMode': false,
|
|
213
|
+
'triggerPrice': true,
|
|
214
|
+
'triggerPriceType': {
|
|
215
|
+
'last': true,
|
|
216
|
+
'mark': true,
|
|
217
|
+
'index': true,
|
|
218
|
+
},
|
|
219
|
+
'triggerDirection': false,
|
|
220
|
+
'stopLossPrice': false,
|
|
221
|
+
'takeProfitPrice': false,
|
|
222
|
+
'attachedStopLossTakeProfit': undefined,
|
|
223
|
+
'timeInForce': {
|
|
224
|
+
'IOC': false,
|
|
225
|
+
'FOK': false,
|
|
226
|
+
'PO': true,
|
|
227
|
+
'GTD': false,
|
|
228
|
+
},
|
|
229
|
+
'hedged': false,
|
|
230
|
+
'trailing': true,
|
|
231
|
+
'leverage': false,
|
|
232
|
+
'marketBuyByCost': false,
|
|
233
|
+
'marketBuyRequiresPrice': false,
|
|
234
|
+
'selfTradePrevention': true,
|
|
235
|
+
'iceberg': false,
|
|
236
|
+
},
|
|
237
|
+
'createOrders': undefined,
|
|
238
|
+
'fetchMyTrades': {
|
|
239
|
+
'marginMode': false,
|
|
240
|
+
'limit': 500,
|
|
241
|
+
'daysBack': 100000,
|
|
242
|
+
'untilDays': 100000,
|
|
243
|
+
},
|
|
244
|
+
'fetchOrder': {
|
|
245
|
+
'marginMode': false,
|
|
246
|
+
'trigger': false,
|
|
247
|
+
'trailing': false,
|
|
248
|
+
},
|
|
249
|
+
'fetchOpenOrders': {
|
|
250
|
+
'marginMode': false,
|
|
251
|
+
'limit': 500,
|
|
252
|
+
'trigger': false,
|
|
253
|
+
'trailing': false,
|
|
254
|
+
},
|
|
255
|
+
'fetchOrders': {
|
|
256
|
+
'marginMode': false,
|
|
257
|
+
'limit': 500,
|
|
258
|
+
'daysBack': 100000,
|
|
259
|
+
'untilDays': 100000,
|
|
260
|
+
'trigger': false,
|
|
261
|
+
'trailing': false,
|
|
262
|
+
},
|
|
263
|
+
'fetchClosedOrders': {
|
|
264
|
+
'marginMode': false,
|
|
265
|
+
'limit': 500,
|
|
266
|
+
'daysBack': 100000,
|
|
267
|
+
'daysBackCanceled': undefined,
|
|
268
|
+
'untilDays': 100000,
|
|
269
|
+
'trigger': false,
|
|
270
|
+
'trailing': false,
|
|
271
|
+
},
|
|
272
|
+
'fetchOHLCV': {
|
|
273
|
+
'limit': 300,
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
'swap': {
|
|
277
|
+
'linear': undefined,
|
|
278
|
+
'inverse': undefined,
|
|
279
|
+
},
|
|
280
|
+
'future': {
|
|
281
|
+
'linear': undefined,
|
|
282
|
+
'inverse': undefined,
|
|
283
|
+
},
|
|
284
|
+
},
|
|
208
285
|
'fees': {
|
|
209
286
|
'trading': {
|
|
210
287
|
'feeSide': 'get',
|
package/dist/cjs/src/coinmate.js
CHANGED
|
@@ -209,6 +209,69 @@ class coinmate extends coinmate$1 {
|
|
|
209
209
|
},
|
|
210
210
|
},
|
|
211
211
|
},
|
|
212
|
+
'features': {
|
|
213
|
+
'spot': {
|
|
214
|
+
'sandbox': false,
|
|
215
|
+
'createOrder': {
|
|
216
|
+
'marginMode': false,
|
|
217
|
+
'triggerPrice': true,
|
|
218
|
+
'triggerPriceType': undefined,
|
|
219
|
+
'triggerDirection': false,
|
|
220
|
+
'stopLossPrice': false,
|
|
221
|
+
'takeProfitPrice': false,
|
|
222
|
+
'attachedStopLossTakeProfit': undefined,
|
|
223
|
+
'timeInForce': {
|
|
224
|
+
'IOC': true,
|
|
225
|
+
'FOK': false,
|
|
226
|
+
'PO': true,
|
|
227
|
+
'GTD': false,
|
|
228
|
+
},
|
|
229
|
+
'hedged': false,
|
|
230
|
+
'trailing': true,
|
|
231
|
+
'leverage': false,
|
|
232
|
+
'marketBuyByCost': false,
|
|
233
|
+
'marketBuyRequiresPrice': false,
|
|
234
|
+
'selfTradePrevention': false,
|
|
235
|
+
'iceberg': true, // todo
|
|
236
|
+
},
|
|
237
|
+
'createOrders': undefined,
|
|
238
|
+
'fetchMyTrades': {
|
|
239
|
+
'marginMode': false,
|
|
240
|
+
'limit': 1000,
|
|
241
|
+
'daysBack': 100000,
|
|
242
|
+
'untilDays': 100000, // todo implement
|
|
243
|
+
},
|
|
244
|
+
'fetchOrder': {
|
|
245
|
+
'marginMode': false,
|
|
246
|
+
'trigger': false,
|
|
247
|
+
'trailing': false,
|
|
248
|
+
},
|
|
249
|
+
'fetchOpenOrders': {
|
|
250
|
+
'marginMode': false,
|
|
251
|
+
'limit': undefined,
|
|
252
|
+
'trigger': false,
|
|
253
|
+
'trailing': false,
|
|
254
|
+
},
|
|
255
|
+
'fetchOrders': {
|
|
256
|
+
'marginMode': false,
|
|
257
|
+
'limit': 100,
|
|
258
|
+
'daysBack': undefined,
|
|
259
|
+
'untilDays': undefined,
|
|
260
|
+
'trigger': false,
|
|
261
|
+
'trailing': false,
|
|
262
|
+
},
|
|
263
|
+
'fetchClosedOrders': undefined,
|
|
264
|
+
'fetchOHLCV': undefined,
|
|
265
|
+
},
|
|
266
|
+
'swap': {
|
|
267
|
+
'linear': undefined,
|
|
268
|
+
'inverse': undefined,
|
|
269
|
+
},
|
|
270
|
+
'future': {
|
|
271
|
+
'linear': undefined,
|
|
272
|
+
'inverse': undefined,
|
|
273
|
+
},
|
|
274
|
+
},
|
|
212
275
|
'exceptions': {
|
|
213
276
|
'exact': {
|
|
214
277
|
'No order with given ID': errors.OrderNotFound,
|
|
@@ -211,6 +211,74 @@ class coinmetro extends coinmetro$1 {
|
|
|
211
211
|
'currenciesByIdForParseMarket': undefined,
|
|
212
212
|
'currencyIdsListForParseMarket': undefined,
|
|
213
213
|
},
|
|
214
|
+
'features': {
|
|
215
|
+
'spot': {
|
|
216
|
+
'sandbox': true,
|
|
217
|
+
'createOrder': {
|
|
218
|
+
'marginMode': true,
|
|
219
|
+
'triggerPrice': true,
|
|
220
|
+
'triggerPriceType': undefined,
|
|
221
|
+
'triggerDirection': false,
|
|
222
|
+
'stopLossPrice': false,
|
|
223
|
+
'takeProfitPrice': false,
|
|
224
|
+
'attachedStopLossTakeProfit': {
|
|
225
|
+
'triggerPriceType': undefined,
|
|
226
|
+
'price': false,
|
|
227
|
+
},
|
|
228
|
+
'timeInForce': {
|
|
229
|
+
'IOC': true,
|
|
230
|
+
'FOK': true,
|
|
231
|
+
'PO': false,
|
|
232
|
+
'GTD': true,
|
|
233
|
+
},
|
|
234
|
+
'hedged': false,
|
|
235
|
+
'trailing': false,
|
|
236
|
+
'leverage': false,
|
|
237
|
+
'marketBuyByCost': true,
|
|
238
|
+
'marketBuyRequiresPrice': false,
|
|
239
|
+
'selfTradePrevention': false,
|
|
240
|
+
'iceberg': true,
|
|
241
|
+
},
|
|
242
|
+
'createOrders': undefined,
|
|
243
|
+
'fetchMyTrades': {
|
|
244
|
+
'marginMode': false,
|
|
245
|
+
'limit': undefined,
|
|
246
|
+
'daysBack': 100000,
|
|
247
|
+
'untilDays': undefined,
|
|
248
|
+
},
|
|
249
|
+
'fetchOrder': {
|
|
250
|
+
'marginMode': false,
|
|
251
|
+
'trigger': false,
|
|
252
|
+
'trailing': false,
|
|
253
|
+
},
|
|
254
|
+
'fetchOpenOrders': {
|
|
255
|
+
'marginMode': false,
|
|
256
|
+
'limit': undefined,
|
|
257
|
+
'trigger': false,
|
|
258
|
+
'trailing': false,
|
|
259
|
+
},
|
|
260
|
+
'fetchOrders': {
|
|
261
|
+
'marginMode': false,
|
|
262
|
+
'limit': undefined,
|
|
263
|
+
'daysBack': 100000,
|
|
264
|
+
'untilDays': undefined,
|
|
265
|
+
'trigger': false,
|
|
266
|
+
'trailing': false,
|
|
267
|
+
},
|
|
268
|
+
'fetchClosedOrders': undefined,
|
|
269
|
+
'fetchOHLCV': {
|
|
270
|
+
'limit': 1000,
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
'swap': {
|
|
274
|
+
'linear': undefined,
|
|
275
|
+
'inverse': undefined,
|
|
276
|
+
},
|
|
277
|
+
'future': {
|
|
278
|
+
'linear': undefined,
|
|
279
|
+
'inverse': undefined,
|
|
280
|
+
},
|
|
281
|
+
},
|
|
214
282
|
'exceptions': {
|
|
215
283
|
// https://trade-docs.coinmetro.co/?javascript--nodejs#message-codes
|
|
216
284
|
'exact': {
|