ccxt 4.1.53 → 4.1.55
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 +8 -7
- package/dist/ccxt.browser.js +2329 -818
- package/dist/ccxt.browser.min.js +10 -10
- package/dist/cjs/ccxt.js +4 -1
- package/dist/cjs/src/abstract/p2b.js +9 -0
- package/dist/cjs/src/ace.js +2 -2
- package/dist/cjs/src/alpaca.js +1 -1
- package/dist/cjs/src/base/Exchange.js +25 -62
- package/dist/cjs/src/base/errors.js +1 -1
- package/dist/cjs/src/bigone.js +1 -6
- package/dist/cjs/src/binance.js +10 -3
- package/dist/cjs/src/bingx.js +1 -1
- package/dist/cjs/src/bitget.js +670 -405
- package/dist/cjs/src/bitmart.js +29 -62
- package/dist/cjs/src/bitmex.js +2 -2
- package/dist/cjs/src/bittrex.js +1 -3
- package/dist/cjs/src/coinbase.js +53 -3
- package/dist/cjs/src/coinex.js +23 -33
- package/dist/cjs/src/coinone.js +2 -2
- package/dist/cjs/src/digifinex.js +2 -2
- package/dist/cjs/src/idex.js +2 -2
- package/dist/cjs/src/kuna.js +6 -0
- package/dist/cjs/src/p2b.js +1246 -0
- package/dist/cjs/src/phemex.js +8 -8
- package/dist/cjs/src/poloniex.js +3 -2
- package/dist/cjs/src/poloniexfutures.js +1 -1
- package/dist/cjs/src/pro/hitbtc.js +1 -1
- package/dist/cjs/src/tidex.js +2 -2
- package/dist/cjs/src/timex.js +1 -1
- package/dist/cjs/src/whitebit.js +2 -2
- package/js/ccxt.d.ts +5 -2
- package/js/ccxt.js +4 -2
- package/js/src/abstract/binance.d.ts +1 -0
- package/js/src/abstract/binancecoinm.d.ts +1 -0
- package/js/src/abstract/binanceus.d.ts +1 -0
- package/js/src/abstract/binanceusdm.d.ts +1 -0
- package/js/src/abstract/bitget.d.ts +495 -254
- package/js/src/abstract/coinbase.d.ts +2 -0
- package/js/src/abstract/p2b.d.ts +25 -0
- package/js/src/abstract/p2b.js +11 -0
- package/js/src/ace.d.ts +7 -7
- package/js/src/ace.js +2 -2
- package/js/src/alpaca.d.ts +4 -4
- package/js/src/alpaca.js +1 -1
- package/js/src/ascendex.d.ts +26 -26
- package/js/src/base/Exchange.d.ts +48 -48
- package/js/src/base/Exchange.js +25 -62
- package/js/src/base/Precise.d.ts +13 -12
- package/js/src/base/errorHierarchy.d.ts +10 -9
- package/js/src/base/errorHierarchy.js +10 -9
- package/js/src/base/errors.d.ts +1 -1
- package/js/src/base/errors.js +1 -1
- package/js/src/base/functions/type.d.ts +18 -18
- package/js/src/base/types.d.ts +27 -23
- package/js/src/bigone.d.ts +9 -9
- package/js/src/bigone.js +1 -6
- package/js/src/binance.d.ts +57 -100
- package/js/src/binance.js +10 -3
- package/js/src/binancecoinm.d.ts +2 -2
- package/js/src/binanceusdm.d.ts +2 -2
- package/js/src/bingx.d.ts +22 -22
- package/js/src/bingx.js +1 -1
- package/js/src/bit2c.d.ts +7 -7
- package/js/src/bitbank.d.ts +7 -7
- package/js/src/bitbns.d.ts +6 -6
- package/js/src/bitfinex.d.ts +12 -12
- package/js/src/bitfinex2.d.ts +19 -19
- package/js/src/bitflyer.d.ts +8 -8
- package/js/src/bitforex.d.ts +5 -5
- package/js/src/bitget.d.ts +44 -44
- package/js/src/bitget.js +670 -405
- package/js/src/bithumb.d.ts +8 -8
- package/js/src/bitmart.d.ts +41 -36
- package/js/src/bitmart.js +29 -62
- package/js/src/bitmex.d.ts +21 -21
- package/js/src/bitmex.js +2 -2
- package/js/src/bitopro.d.ts +10 -10
- package/js/src/bitpanda.d.ts +10 -10
- package/js/src/bitrue.d.ts +11 -11
- package/js/src/bitso.d.ts +9 -9
- package/js/src/bitstamp.d.ts +13 -13
- package/js/src/bittrex.d.ts +14 -14
- package/js/src/bittrex.js +1 -3
- package/js/src/bitvavo.d.ts +9 -9
- package/js/src/bl3p.d.ts +3 -3
- package/js/src/blockchaincom.d.ts +6 -6
- package/js/src/btcalpha.d.ts +8 -8
- package/js/src/btcbox.d.ts +4 -4
- package/js/src/btcmarkets.d.ts +7 -7
- package/js/src/btcturk.d.ts +7 -7
- package/js/src/bybit.d.ts +36 -79
- package/js/src/cex.d.ts +6 -6
- package/js/src/coinbase.d.ts +16 -15
- package/js/src/coinbase.js +53 -3
- package/js/src/coinbasepro.d.ts +10 -10
- package/js/src/coincheck.d.ts +5 -5
- package/js/src/coinex.d.ts +52 -46
- package/js/src/coinex.js +23 -33
- package/js/src/coinlist.d.ts +14 -14
- package/js/src/coinmate.d.ts +5 -5
- package/js/src/coinone.d.ts +5 -5
- package/js/src/coinone.js +2 -2
- package/js/src/coinsph.d.ts +13 -13
- package/js/src/coinspot.d.ts +4 -4
- package/js/src/cryptocom.d.ts +19 -19
- package/js/src/currencycom.d.ts +14 -14
- package/js/src/delta.d.ts +29 -72
- package/js/src/deribit.d.ts +21 -21
- package/js/src/digifinex.d.ts +39 -39
- package/js/src/digifinex.js +2 -2
- package/js/src/exmo.d.ts +15 -15
- package/js/src/gate.d.ts +46 -89
- package/js/src/gemini.d.ts +8 -8
- package/js/src/hitbtc.d.ts +28 -28
- package/js/src/hollaex.d.ts +13 -13
- package/js/src/htx.d.ts +38 -38
- package/js/src/huobijp.d.ts +10 -10
- package/js/src/idex.d.ts +7 -7
- package/js/src/idex.js +2 -2
- package/js/src/independentreserve.d.ts +4 -4
- package/js/src/indodax.d.ts +7 -7
- package/js/src/kraken.d.ts +17 -17
- package/js/src/krakenfutures.d.ts +15 -15
- package/js/src/kucoin.d.ts +24 -24
- package/js/src/kucoinfutures.d.ts +16 -16
- package/js/src/kuna.d.ts +11 -11
- package/js/src/kuna.js +2 -2
- package/js/src/latoken.d.ts +11 -11
- package/js/src/lbank.d.ts +11 -11
- package/js/src/luno.d.ts +7 -7
- package/js/src/lykke.d.ts +6 -6
- package/js/src/mercado.d.ts +6 -6
- package/js/src/mexc.d.ts +25 -25
- package/js/src/ndax.d.ts +10 -10
- package/js/src/novadax.d.ts +13 -13
- package/js/src/oceanex.d.ts +8 -8
- package/js/src/okcoin.d.ts +16 -16
- package/js/src/okx.d.ts +50 -93
- package/js/src/p2b.d.ts +35 -0
- package/js/src/p2b.js +1246 -0
- package/js/src/paymium.d.ts +10 -10
- package/js/src/phemex.d.ts +34 -34
- package/js/src/phemex.js +8 -8
- package/js/src/poloniex.d.ts +14 -14
- package/js/src/poloniex.js +3 -2
- package/js/src/poloniexfutures.d.ts +10 -10
- package/js/src/poloniexfutures.js +1 -1
- package/js/src/pro/binance.d.ts +5 -5
- package/js/src/pro/bitget.d.ts +3 -3
- package/js/src/pro/bitpanda.d.ts +3 -3
- package/js/src/pro/bybit.d.ts +4 -4
- package/js/src/pro/cex.d.ts +2 -2
- package/js/src/pro/coinbasepro.d.ts +4 -4
- package/js/src/pro/coinex.d.ts +2 -2
- package/js/src/pro/cryptocom.d.ts +3 -3
- package/js/src/pro/currencycom.d.ts +1 -1
- package/js/src/pro/gate.d.ts +4 -4
- package/js/src/pro/hitbtc.d.ts +2 -2
- package/js/src/pro/hitbtc.js +1 -1
- package/js/src/pro/htx.d.ts +2 -2
- package/js/src/pro/kraken.d.ts +1 -1
- package/js/src/pro/krakenfutures.d.ts +3 -3
- package/js/src/pro/kucoin.d.ts +2 -2
- package/js/src/pro/okx.d.ts +4 -4
- package/js/src/pro/poloniex.d.ts +2 -2
- package/js/src/pro/poloniexfutures.d.ts +1 -1
- package/js/src/pro/wazirx.d.ts +2 -2
- package/js/src/pro/woo.d.ts +2 -2
- package/js/src/probit.d.ts +13 -13
- package/js/src/tidex.d.ts +7 -7
- package/js/src/tidex.js +2 -2
- package/js/src/timex.d.ts +13 -13
- package/js/src/timex.js +1 -1
- package/js/src/tokocrypto.d.ts +8 -8
- package/js/src/upbit.d.ts +21 -21
- package/js/src/wavesexchange.d.ts +10 -10
- package/js/src/wazirx.d.ts +7 -7
- package/js/src/whitebit.d.ts +17 -17
- package/js/src/whitebit.js +2 -2
- package/js/src/woo.d.ts +23 -23
- package/js/src/yobit.d.ts +6 -6
- package/js/src/zaif.d.ts +6 -6
- package/js/src/zonda.d.ts +16 -16
- package/package.json +11 -6
- package/skip-tests.json +7 -0
package/dist/cjs/ccxt.js
CHANGED
|
@@ -99,6 +99,7 @@ var okcoin = require('./src/okcoin.js');
|
|
|
99
99
|
var okex = require('./src/okex.js');
|
|
100
100
|
var okex5 = require('./src/okex5.js');
|
|
101
101
|
var okx = require('./src/okx.js');
|
|
102
|
+
var p2b = require('./src/p2b.js');
|
|
102
103
|
var paymium = require('./src/paymium.js');
|
|
103
104
|
var phemex = require('./src/phemex.js');
|
|
104
105
|
var poloniex = require('./src/poloniex.js');
|
|
@@ -179,7 +180,7 @@ var woo$1 = require('./src/pro/woo.js');
|
|
|
179
180
|
|
|
180
181
|
//-----------------------------------------------------------------------------
|
|
181
182
|
// this is updated by vss.js when building
|
|
182
|
-
const version = '4.1.
|
|
183
|
+
const version = '4.1.55';
|
|
183
184
|
Exchange["default"].ccxtVersion = version;
|
|
184
185
|
const exchanges = {
|
|
185
186
|
'ace': ace,
|
|
@@ -269,6 +270,7 @@ const exchanges = {
|
|
|
269
270
|
'okex': okex,
|
|
270
271
|
'okex5': okex5,
|
|
271
272
|
'okx': okx,
|
|
273
|
+
'p2b': p2b,
|
|
272
274
|
'paymium': paymium,
|
|
273
275
|
'phemex': phemex,
|
|
274
276
|
'poloniex': poloniex,
|
|
@@ -477,6 +479,7 @@ exports.okcoin = okcoin;
|
|
|
477
479
|
exports.okex = okex;
|
|
478
480
|
exports.okex5 = okex5;
|
|
479
481
|
exports.okx = okx;
|
|
482
|
+
exports.p2b = p2b;
|
|
480
483
|
exports.paymium = paymium;
|
|
481
484
|
exports.phemex = phemex;
|
|
482
485
|
exports.poloniex = poloniex;
|
package/dist/cjs/src/ace.js
CHANGED
|
@@ -511,7 +511,7 @@ class ace extends ace$1 {
|
|
|
511
511
|
// "type": 1
|
|
512
512
|
// }
|
|
513
513
|
//
|
|
514
|
-
let id
|
|
514
|
+
let id;
|
|
515
515
|
let timestamp = undefined;
|
|
516
516
|
let symbol = undefined;
|
|
517
517
|
let price = undefined;
|
|
@@ -791,7 +791,7 @@ class ace extends ace$1 {
|
|
|
791
791
|
symbol = baseId + '/' + quoteId;
|
|
792
792
|
}
|
|
793
793
|
let side = undefined;
|
|
794
|
-
const tradeSide = this.
|
|
794
|
+
const tradeSide = this.safeInteger(trade, 'buyOrSell');
|
|
795
795
|
if (tradeSide !== undefined) {
|
|
796
796
|
side = (tradeSide === 1) ? 'buy' : 'sell';
|
|
797
797
|
}
|
package/dist/cjs/src/alpaca.js
CHANGED
|
@@ -761,7 +761,7 @@ class alpaca extends alpaca$1 {
|
|
|
761
761
|
const datetime = this.safeString(trade, 't');
|
|
762
762
|
const timestamp = this.parse8601(datetime);
|
|
763
763
|
const alpacaSide = this.safeString(trade, 'tks');
|
|
764
|
-
let side
|
|
764
|
+
let side;
|
|
765
765
|
if (alpacaSide === 'B') {
|
|
766
766
|
side = 'buy';
|
|
767
767
|
}
|
|
@@ -1659,7 +1659,7 @@ class Exchange {
|
|
|
1659
1659
|
else {
|
|
1660
1660
|
this.markets_by_id[value['id']] = [value];
|
|
1661
1661
|
}
|
|
1662
|
-
const market = this.deepExtend(this.
|
|
1662
|
+
const market = this.deepExtend(this.safeMarketStructure(), {
|
|
1663
1663
|
'precision': this.precision,
|
|
1664
1664
|
'limits': this.limits,
|
|
1665
1665
|
}, this.fees['trading'], value);
|
|
@@ -3030,53 +3030,14 @@ class Exchange {
|
|
|
3030
3030
|
return {
|
|
3031
3031
|
'id': currencyId,
|
|
3032
3032
|
'code': code,
|
|
3033
|
+
'precision': undefined,
|
|
3033
3034
|
};
|
|
3034
3035
|
}
|
|
3035
|
-
safeMarket(marketId
|
|
3036
|
-
const result = {
|
|
3037
|
-
'id': marketId,
|
|
3036
|
+
safeMarket(marketId, market = undefined, delimiter = undefined, marketType = undefined) {
|
|
3037
|
+
const result = this.safeMarketStructure({
|
|
3038
3038
|
'symbol': marketId,
|
|
3039
|
-
'
|
|
3040
|
-
|
|
3041
|
-
'baseId': undefined,
|
|
3042
|
-
'quoteId': undefined,
|
|
3043
|
-
'active': undefined,
|
|
3044
|
-
'type': undefined,
|
|
3045
|
-
'linear': undefined,
|
|
3046
|
-
'inverse': undefined,
|
|
3047
|
-
'spot': false,
|
|
3048
|
-
'swap': false,
|
|
3049
|
-
'future': false,
|
|
3050
|
-
'option': false,
|
|
3051
|
-
'margin': false,
|
|
3052
|
-
'contract': false,
|
|
3053
|
-
'contractSize': undefined,
|
|
3054
|
-
'expiry': undefined,
|
|
3055
|
-
'expiryDatetime': undefined,
|
|
3056
|
-
'optionType': undefined,
|
|
3057
|
-
'strike': undefined,
|
|
3058
|
-
'settle': undefined,
|
|
3059
|
-
'settleId': undefined,
|
|
3060
|
-
'precision': {
|
|
3061
|
-
'amount': undefined,
|
|
3062
|
-
'price': undefined,
|
|
3063
|
-
},
|
|
3064
|
-
'limits': {
|
|
3065
|
-
'amount': {
|
|
3066
|
-
'min': undefined,
|
|
3067
|
-
'max': undefined,
|
|
3068
|
-
},
|
|
3069
|
-
'price': {
|
|
3070
|
-
'min': undefined,
|
|
3071
|
-
'max': undefined,
|
|
3072
|
-
},
|
|
3073
|
-
'cost': {
|
|
3074
|
-
'min': undefined,
|
|
3075
|
-
'max': undefined,
|
|
3076
|
-
},
|
|
3077
|
-
},
|
|
3078
|
-
'info': undefined,
|
|
3079
|
-
};
|
|
3039
|
+
'marketId': marketId,
|
|
3040
|
+
});
|
|
3080
3041
|
if (marketId !== undefined) {
|
|
3081
3042
|
if ((this.markets_by_id !== undefined) && (marketId in this.markets_by_id)) {
|
|
3082
3043
|
const markets = this.markets_by_id[marketId];
|
|
@@ -3085,13 +3046,17 @@ class Exchange {
|
|
|
3085
3046
|
return markets[0];
|
|
3086
3047
|
}
|
|
3087
3048
|
else {
|
|
3088
|
-
if (
|
|
3089
|
-
|
|
3049
|
+
if (marketType === undefined) {
|
|
3050
|
+
if (market === undefined) {
|
|
3051
|
+
throw new errors.ArgumentsRequired(this.id + ' safeMarket() requires a fourth argument for ' + marketId + ' to disambiguate between different markets with the same market id');
|
|
3052
|
+
}
|
|
3053
|
+
else {
|
|
3054
|
+
marketType = market['type'];
|
|
3055
|
+
}
|
|
3090
3056
|
}
|
|
3091
|
-
const inferredMarketType = (marketType === undefined) ? market['type'] : marketType;
|
|
3092
3057
|
for (let i = 0; i < markets.length; i++) {
|
|
3093
3058
|
const currentMarket = markets[i];
|
|
3094
|
-
if (currentMarket[
|
|
3059
|
+
if (currentMarket[marketType]) {
|
|
3095
3060
|
return currentMarket;
|
|
3096
3061
|
}
|
|
3097
3062
|
}
|
|
@@ -3524,21 +3489,19 @@ class Exchange {
|
|
|
3524
3489
|
if (this.markets === undefined) {
|
|
3525
3490
|
throw new errors.ExchangeError(this.id + ' markets not loaded');
|
|
3526
3491
|
}
|
|
3527
|
-
if (
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
return market;
|
|
3538
|
-
}
|
|
3492
|
+
if (symbol in this.markets) {
|
|
3493
|
+
return this.markets[symbol];
|
|
3494
|
+
}
|
|
3495
|
+
else if (symbol in this.markets_by_id) {
|
|
3496
|
+
const markets = this.markets_by_id[symbol];
|
|
3497
|
+
const defaultType = this.safeString2(this.options, 'defaultType', 'defaultSubType', 'spot');
|
|
3498
|
+
for (let i = 0; i < markets.length; i++) {
|
|
3499
|
+
const market = markets[i];
|
|
3500
|
+
if (market[defaultType]) {
|
|
3501
|
+
return market;
|
|
3539
3502
|
}
|
|
3540
|
-
return markets[0];
|
|
3541
3503
|
}
|
|
3504
|
+
return markets[0];
|
|
3542
3505
|
}
|
|
3543
3506
|
throw new errors.BadSymbol(this.id + ' does not have market symbol ' + symbol);
|
|
3544
3507
|
}
|
|
@@ -233,7 +233,7 @@ class RequestTimeout extends NetworkError {
|
|
|
233
233
|
this.name = 'RequestTimeout';
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
-
class OperationFailed extends
|
|
236
|
+
class OperationFailed extends BaseError {
|
|
237
237
|
constructor(message) {
|
|
238
238
|
super(message);
|
|
239
239
|
this.name = 'OperationFailed';
|
package/dist/cjs/src/bigone.js
CHANGED
|
@@ -827,12 +827,7 @@ class bigone extends bigone$1 {
|
|
|
827
827
|
const takerOrderId = this.safeString(trade, 'taker_order_id');
|
|
828
828
|
let orderId = undefined;
|
|
829
829
|
if (makerOrderId !== undefined) {
|
|
830
|
-
|
|
831
|
-
orderId = [makerOrderId, takerOrderId];
|
|
832
|
-
}
|
|
833
|
-
else {
|
|
834
|
-
orderId = makerOrderId;
|
|
835
|
-
}
|
|
830
|
+
orderId = makerOrderId;
|
|
836
831
|
}
|
|
837
832
|
else if (takerOrderId !== undefined) {
|
|
838
833
|
orderId = takerOrderId;
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -153,6 +153,7 @@ class binance extends binance$1 {
|
|
|
153
153
|
'dapiPrivate': 'https://testnet.binancefuture.com/dapi/v1',
|
|
154
154
|
'dapiPrivateV2': 'https://testnet.binancefuture.com/dapi/v2',
|
|
155
155
|
'fapiPublic': 'https://testnet.binancefuture.com/fapi/v1',
|
|
156
|
+
'fapiPublicV2': 'https://testnet.binancefuture.com/fapi/v2',
|
|
156
157
|
'fapiPrivate': 'https://testnet.binancefuture.com/fapi/v1',
|
|
157
158
|
'fapiPrivateV2': 'https://testnet.binancefuture.com/fapi/v2',
|
|
158
159
|
'public': 'https://testnet.binance.vision/api/v3',
|
|
@@ -171,6 +172,7 @@ class binance extends binance$1 {
|
|
|
171
172
|
'dapiPrivateV2': 'https://dapi.binance.com/dapi/v2',
|
|
172
173
|
'dapiData': 'https://dapi.binance.com/futures/data',
|
|
173
174
|
'fapiPublic': 'https://fapi.binance.com/fapi/v1',
|
|
175
|
+
'fapiPublicV2': 'https://fapi.binance.com/fapi/v2',
|
|
174
176
|
'fapiPrivate': 'https://fapi.binance.com/fapi/v1',
|
|
175
177
|
'fapiData': 'https://fapi.binance.com/futures/data',
|
|
176
178
|
'fapiPrivateV2': 'https://fapi.binance.com/fapi/v2',
|
|
@@ -788,6 +790,11 @@ class binance extends binance$1 {
|
|
|
788
790
|
'listenKey': 1,
|
|
789
791
|
},
|
|
790
792
|
},
|
|
793
|
+
'fapiPublicV2': {
|
|
794
|
+
'get': {
|
|
795
|
+
'ticker/price': 0,
|
|
796
|
+
},
|
|
797
|
+
},
|
|
791
798
|
'fapiPrivateV2': {
|
|
792
799
|
'get': {
|
|
793
800
|
'account': 1,
|
|
@@ -3130,7 +3137,7 @@ class binance extends binance$1 {
|
|
|
3130
3137
|
[type, params] = this.handleMarketTypeAndParams('fetchLastPrices', market, params);
|
|
3131
3138
|
let response = undefined;
|
|
3132
3139
|
if (this.isLinear(type, subType)) {
|
|
3133
|
-
response = await this.
|
|
3140
|
+
response = await this.fapiPublicV2GetTickerPrice(params);
|
|
3134
3141
|
//
|
|
3135
3142
|
// [
|
|
3136
3143
|
// {
|
|
@@ -8907,9 +8914,9 @@ class binance extends binance$1 {
|
|
|
8907
8914
|
// }
|
|
8908
8915
|
//
|
|
8909
8916
|
const timestamp = this.safeNumber(info, 'timestamp');
|
|
8910
|
-
|
|
8917
|
+
const currencyId = this.safeString(info, 'asset');
|
|
8911
8918
|
return {
|
|
8912
|
-
'currency': this.safeCurrencyCode(currency),
|
|
8919
|
+
'currency': this.safeCurrencyCode(currencyId, currency),
|
|
8913
8920
|
'rate': this.safeNumber(info, 'dailyInterestRate'),
|
|
8914
8921
|
'period': 86400000,
|
|
8915
8922
|
'timestamp': timestamp,
|