ccxt 4.4.86 → 4.4.87
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 +17 -5
- package/dist/ccxt.browser.min.js +3 -3
- package/dist/cjs/ccxt.js +11 -1
- package/dist/cjs/src/abstract/modetrade.js +9 -0
- package/dist/cjs/src/base/Exchange.js +10 -8
- package/dist/cjs/src/binance.js +1 -1
- package/dist/cjs/src/bitteam.js +31 -0
- package/dist/cjs/src/coinmetro.js +5 -1
- package/dist/cjs/src/derive.js +4 -5
- package/dist/cjs/src/ellipx.js +2 -3
- package/dist/cjs/src/gate.js +92 -76
- package/dist/cjs/src/htx.js +10 -8
- package/dist/cjs/src/hyperliquid.js +32 -16
- package/dist/cjs/src/kraken.js +5 -8
- package/dist/cjs/src/modetrade.js +2839 -0
- package/dist/cjs/src/okx.js +95 -2
- package/dist/cjs/src/okxus.js +53 -0
- package/dist/cjs/src/paradex.js +6 -1
- package/dist/cjs/src/phemex.js +4 -6
- package/dist/cjs/src/poloniex.js +181 -170
- package/dist/cjs/src/pro/modetrade.js +1334 -0
- package/dist/cjs/src/pro/okxus.js +38 -0
- package/dist/cjs/src/probit.js +18 -51
- package/dist/cjs/src/timex.js +5 -10
- package/dist/cjs/src/vertex.js +3 -4
- package/dist/cjs/src/whitebit.js +41 -11
- package/dist/cjs/src/woo.js +101 -77
- package/dist/cjs/src/woofipro.js +24 -21
- package/dist/cjs/src/xt.js +36 -44
- package/js/ccxt.d.ts +14 -2
- package/js/ccxt.js +10 -2
- package/js/src/abstract/modetrade.d.ts +122 -0
- package/js/src/abstract/modetrade.js +11 -0
- package/js/src/abstract/okxus.d.ts +352 -0
- package/js/src/abstract/okxus.js +11 -0
- package/js/src/base/Exchange.js +10 -8
- package/js/src/binance.js +1 -1
- package/js/src/bitteam.js +31 -0
- package/js/src/coinmetro.js +5 -1
- package/js/src/derive.js +4 -3
- package/js/src/ellipx.d.ts +1 -1
- package/js/src/ellipx.js +3 -5
- package/js/src/gate.js +92 -76
- package/js/src/htx.js +10 -8
- package/js/src/hyperliquid.js +32 -16
- package/js/src/kraken.js +5 -8
- package/js/src/modetrade.d.ts +475 -0
- package/js/src/modetrade.js +2840 -0
- package/js/src/okx.d.ts +24 -1
- package/js/src/okx.js +95 -2
- package/js/src/okxus.d.ts +4 -0
- package/js/src/okxus.js +54 -0
- package/js/src/paradex.js +6 -1
- package/js/src/phemex.js +4 -6
- package/js/src/poloniex.d.ts +2 -0
- package/js/src/poloniex.js +181 -170
- package/js/src/pro/modetrade.d.ts +155 -0
- package/js/src/pro/modetrade.js +1335 -0
- package/js/src/pro/okxus.d.ts +4 -0
- package/js/src/pro/okxus.js +39 -0
- package/js/src/probit.js +18 -51
- package/js/src/timex.js +5 -10
- package/js/src/vertex.js +3 -4
- package/js/src/whitebit.js +42 -11
- package/js/src/woo.d.ts +2 -0
- package/js/src/woo.js +101 -77
- package/js/src/woofipro.d.ts +2 -1
- package/js/src/woofipro.js +24 -21
- package/js/src/xt.js +36 -44
- package/package.json +1 -1
package/dist/cjs/ccxt.js
CHANGED
|
@@ -89,12 +89,14 @@ var lbank = require('./src/lbank.js');
|
|
|
89
89
|
var luno = require('./src/luno.js');
|
|
90
90
|
var mercado = require('./src/mercado.js');
|
|
91
91
|
var mexc = require('./src/mexc.js');
|
|
92
|
+
var modetrade = require('./src/modetrade.js');
|
|
92
93
|
var myokx = require('./src/myokx.js');
|
|
93
94
|
var ndax = require('./src/ndax.js');
|
|
94
95
|
var novadax = require('./src/novadax.js');
|
|
95
96
|
var oceanex = require('./src/oceanex.js');
|
|
96
97
|
var okcoin = require('./src/okcoin.js');
|
|
97
98
|
var okx = require('./src/okx.js');
|
|
99
|
+
var okxus = require('./src/okxus.js');
|
|
98
100
|
var onetrading = require('./src/onetrading.js');
|
|
99
101
|
var oxfun = require('./src/oxfun.js');
|
|
100
102
|
var p2b = require('./src/p2b.js');
|
|
@@ -169,10 +171,12 @@ var kucoinfutures$1 = require('./src/pro/kucoinfutures.js');
|
|
|
169
171
|
var lbank$1 = require('./src/pro/lbank.js');
|
|
170
172
|
var luno$1 = require('./src/pro/luno.js');
|
|
171
173
|
var mexc$1 = require('./src/pro/mexc.js');
|
|
174
|
+
var modetrade$1 = require('./src/pro/modetrade.js');
|
|
172
175
|
var myokx$1 = require('./src/pro/myokx.js');
|
|
173
176
|
var ndax$1 = require('./src/pro/ndax.js');
|
|
174
177
|
var okcoin$1 = require('./src/pro/okcoin.js');
|
|
175
178
|
var okx$1 = require('./src/pro/okx.js');
|
|
179
|
+
var okxus$1 = require('./src/pro/okxus.js');
|
|
176
180
|
var onetrading$1 = require('./src/pro/onetrading.js');
|
|
177
181
|
var oxfun$1 = require('./src/pro/oxfun.js');
|
|
178
182
|
var p2b$1 = require('./src/pro/p2b.js');
|
|
@@ -190,7 +194,7 @@ var xt$1 = require('./src/pro/xt.js');
|
|
|
190
194
|
|
|
191
195
|
//-----------------------------------------------------------------------------
|
|
192
196
|
// this is updated by vss.js when building
|
|
193
|
-
const version = '4.4.
|
|
197
|
+
const version = '4.4.87';
|
|
194
198
|
Exchange["default"].ccxtVersion = version;
|
|
195
199
|
const exchanges = {
|
|
196
200
|
'alpaca': alpaca,
|
|
@@ -270,12 +274,14 @@ const exchanges = {
|
|
|
270
274
|
'luno': luno,
|
|
271
275
|
'mercado': mercado,
|
|
272
276
|
'mexc': mexc,
|
|
277
|
+
'modetrade': modetrade,
|
|
273
278
|
'myokx': myokx,
|
|
274
279
|
'ndax': ndax,
|
|
275
280
|
'novadax': novadax,
|
|
276
281
|
'oceanex': oceanex,
|
|
277
282
|
'okcoin': okcoin,
|
|
278
283
|
'okx': okx,
|
|
284
|
+
'okxus': okxus,
|
|
279
285
|
'onetrading': onetrading,
|
|
280
286
|
'oxfun': oxfun,
|
|
281
287
|
'p2b': p2b,
|
|
@@ -352,10 +358,12 @@ const pro = {
|
|
|
352
358
|
'lbank': lbank$1,
|
|
353
359
|
'luno': luno$1,
|
|
354
360
|
'mexc': mexc$1,
|
|
361
|
+
'modetrade': modetrade$1,
|
|
355
362
|
'myokx': myokx$1,
|
|
356
363
|
'ndax': ndax$1,
|
|
357
364
|
'okcoin': okcoin$1,
|
|
358
365
|
'okx': okx$1,
|
|
366
|
+
'okxus': okxus$1,
|
|
359
367
|
'onetrading': onetrading$1,
|
|
360
368
|
'oxfun': oxfun$1,
|
|
361
369
|
'p2b': p2b$1,
|
|
@@ -498,12 +506,14 @@ exports.lbank = lbank;
|
|
|
498
506
|
exports.luno = luno;
|
|
499
507
|
exports.mercado = mercado;
|
|
500
508
|
exports.mexc = mexc;
|
|
509
|
+
exports.modetrade = modetrade;
|
|
501
510
|
exports.myokx = myokx;
|
|
502
511
|
exports.ndax = ndax;
|
|
503
512
|
exports.novadax = novadax;
|
|
504
513
|
exports.oceanex = oceanex;
|
|
505
514
|
exports.okcoin = okcoin;
|
|
506
515
|
exports.okx = okx;
|
|
516
|
+
exports.okxus = okxus;
|
|
507
517
|
exports.onetrading = onetrading;
|
|
508
518
|
exports.oxfun = oxfun;
|
|
509
519
|
exports.p2b = p2b;
|
|
@@ -743,8 +743,10 @@ class Exchange {
|
|
|
743
743
|
// only call if exchange API provides endpoint (true), thus avoid emulated versions ('emulated')
|
|
744
744
|
if (this.has['fetchCurrencies'] === true) {
|
|
745
745
|
currencies = await this.fetchCurrencies();
|
|
746
|
+
this.options['cachedCurrencies'] = currencies;
|
|
746
747
|
}
|
|
747
748
|
const markets = await this.fetchMarkets(params);
|
|
749
|
+
delete this.options['cachedCurrencies'];
|
|
748
750
|
return this.setMarkets(markets, currencies);
|
|
749
751
|
}
|
|
750
752
|
/**
|
|
@@ -3961,12 +3963,12 @@ class Exchange {
|
|
|
3961
3963
|
}
|
|
3962
3964
|
else {
|
|
3963
3965
|
// if networkCode was provided by user, we should check it after response, as the referenced exchange doesn't support network-code during request
|
|
3964
|
-
const
|
|
3965
|
-
if (
|
|
3966
|
-
chosenNetworkId =
|
|
3966
|
+
const networkIdOrCode = isIndexedByUnifiedNetworkCode ? networkCode : this.networkCodeToId(networkCode, currencyCode);
|
|
3967
|
+
if (networkIdOrCode in indexedNetworkEntries) {
|
|
3968
|
+
chosenNetworkId = networkIdOrCode;
|
|
3967
3969
|
}
|
|
3968
3970
|
else {
|
|
3969
|
-
throw new errors.NotSupported(this.id + ' - ' +
|
|
3971
|
+
throw new errors.NotSupported(this.id + ' - ' + networkIdOrCode + ' network was not found for ' + currencyCode + ', use one of ' + availableNetworkIds.join(', '));
|
|
3970
3972
|
}
|
|
3971
3973
|
}
|
|
3972
3974
|
}
|
|
@@ -4308,15 +4310,15 @@ class Exchange {
|
|
|
4308
4310
|
const cost = this.calculateRateLimiterCost(api, method, path, params, config);
|
|
4309
4311
|
await this.throttle(cost);
|
|
4310
4312
|
}
|
|
4313
|
+
let retries = undefined;
|
|
4314
|
+
[retries, params] = this.handleOptionAndParams(params, path, 'maxRetriesOnFailure', 0);
|
|
4315
|
+
let retryDelay = undefined;
|
|
4316
|
+
[retryDelay, params] = this.handleOptionAndParams(params, path, 'maxRetriesOnFailureDelay', 0);
|
|
4311
4317
|
this.lastRestRequestTimestamp = this.milliseconds();
|
|
4312
4318
|
const request = this.sign(path, api, method, params, headers, body);
|
|
4313
4319
|
this.last_request_headers = request['headers'];
|
|
4314
4320
|
this.last_request_body = request['body'];
|
|
4315
4321
|
this.last_request_url = request['url'];
|
|
4316
|
-
let retries = undefined;
|
|
4317
|
-
[retries, params] = this.handleOptionAndParams(params, path, 'maxRetriesOnFailure', 0);
|
|
4318
|
-
let retryDelay = undefined;
|
|
4319
|
-
[retryDelay, params] = this.handleOptionAndParams(params, path, 'maxRetriesOnFailureDelay', 0);
|
|
4320
4322
|
for (let i = 0; i < retries + 1; i++) {
|
|
4321
4323
|
try {
|
|
4322
4324
|
return await this.fetch(request['url'], request['method'], request['headers'], request['body']);
|
package/dist/cjs/src/binance.js
CHANGED
|
@@ -5195,7 +5195,6 @@ class binance extends binance$1 {
|
|
|
5195
5195
|
if (postOnly) {
|
|
5196
5196
|
uppercaseType = 'LIMIT_MAKER';
|
|
5197
5197
|
}
|
|
5198
|
-
request['type'] = uppercaseType;
|
|
5199
5198
|
const triggerPrice = this.safeNumber2(params, 'stopPrice', 'triggerPrice');
|
|
5200
5199
|
if (triggerPrice !== undefined) {
|
|
5201
5200
|
if (uppercaseType === 'MARKET') {
|
|
@@ -5205,6 +5204,7 @@ class binance extends binance$1 {
|
|
|
5205
5204
|
uppercaseType = 'STOP_LOSS_LIMIT';
|
|
5206
5205
|
}
|
|
5207
5206
|
}
|
|
5207
|
+
request['type'] = uppercaseType;
|
|
5208
5208
|
const validOrderTypes = this.safeList(market['info'], 'orderTypes');
|
|
5209
5209
|
if (!this.inArray(uppercaseType, validOrderTypes)) {
|
|
5210
5210
|
if (initialUppercaseType !== uppercaseType) {
|
package/dist/cjs/src/bitteam.js
CHANGED
|
@@ -29,12 +29,18 @@ class bitteam extends bitteam$1 {
|
|
|
29
29
|
'future': false,
|
|
30
30
|
'option': false,
|
|
31
31
|
'addMargin': false,
|
|
32
|
+
'borrowCrossMargin': false,
|
|
33
|
+
'borrowIsolatedMargin': false,
|
|
32
34
|
'borrowMargin': false,
|
|
33
35
|
'cancelAllOrders': true,
|
|
34
36
|
'cancelOrder': true,
|
|
35
37
|
'cancelOrders': false,
|
|
38
|
+
'closeAllPositions': false,
|
|
39
|
+
'closePosition': false,
|
|
36
40
|
'createDepositAddress': false,
|
|
37
41
|
'createOrder': true,
|
|
42
|
+
'createOrderWithTakeProfitAndStopLoss': false,
|
|
43
|
+
'createOrderWithTakeProfitAndStopLossWs': false,
|
|
38
44
|
'createPostOnlyOrder': false,
|
|
39
45
|
'createReduceOnlyOrder': false,
|
|
40
46
|
'createStopLimitOrder': false,
|
|
@@ -46,8 +52,11 @@ class bitteam extends bitteam$1 {
|
|
|
46
52
|
'fetchBalance': true,
|
|
47
53
|
'fetchBidsAsks': false,
|
|
48
54
|
'fetchBorrowInterest': false,
|
|
55
|
+
'fetchBorrowRate': false,
|
|
49
56
|
'fetchBorrowRateHistories': false,
|
|
50
57
|
'fetchBorrowRateHistory': false,
|
|
58
|
+
'fetchBorrowRates': false,
|
|
59
|
+
'fetchBorrowRatesPerSymbol': false,
|
|
51
60
|
'fetchCanceledOrders': true,
|
|
52
61
|
'fetchClosedOrder': false,
|
|
53
62
|
'fetchClosedOrders': true,
|
|
@@ -63,24 +72,42 @@ class bitteam extends bitteam$1 {
|
|
|
63
72
|
'fetchDepositWithdrawFee': false,
|
|
64
73
|
'fetchDepositWithdrawFees': false,
|
|
65
74
|
'fetchFundingHistory': false,
|
|
75
|
+
'fetchFundingInterval': false,
|
|
76
|
+
'fetchFundingIntervals': false,
|
|
66
77
|
'fetchFundingRate': false,
|
|
67
78
|
'fetchFundingRateHistory': false,
|
|
68
79
|
'fetchFundingRates': false,
|
|
80
|
+
'fetchGreeks': false,
|
|
69
81
|
'fetchIndexOHLCV': false,
|
|
70
82
|
'fetchIsolatedBorrowRate': false,
|
|
71
83
|
'fetchIsolatedBorrowRates': false,
|
|
84
|
+
'fetchIsolatedPositions': false,
|
|
72
85
|
'fetchL3OrderBook': false,
|
|
73
86
|
'fetchLedger': false,
|
|
74
87
|
'fetchLeverage': false,
|
|
88
|
+
'fetchLeverages': false,
|
|
75
89
|
'fetchLeverageTiers': false,
|
|
90
|
+
'fetchLiquidations': false,
|
|
91
|
+
'fetchLongShortRatio': false,
|
|
92
|
+
'fetchLongShortRatioHistory': false,
|
|
93
|
+
'fetchMarginAdjustmentHistory': false,
|
|
94
|
+
'fetchMarginMode': false,
|
|
95
|
+
'fetchMarginModes': false,
|
|
76
96
|
'fetchMarketLeverageTiers': false,
|
|
77
97
|
'fetchMarkets': true,
|
|
78
98
|
'fetchMarkOHLCV': false,
|
|
99
|
+
'fetchMarkPrices': false,
|
|
100
|
+
'fetchMyLiquidations': false,
|
|
101
|
+
'fetchMySettlementHistory': false,
|
|
79
102
|
'fetchMyTrades': true,
|
|
80
103
|
'fetchOHLCV': true,
|
|
104
|
+
'fetchOpenInterest': false,
|
|
81
105
|
'fetchOpenInterestHistory': false,
|
|
106
|
+
'fetchOpenInterests': false,
|
|
82
107
|
'fetchOpenOrder': false,
|
|
83
108
|
'fetchOpenOrders': true,
|
|
109
|
+
'fetchOption': false,
|
|
110
|
+
'fetchOptionChain': false,
|
|
84
111
|
'fetchOrder': true,
|
|
85
112
|
'fetchOrderBook': true,
|
|
86
113
|
'fetchOrderBooks': false,
|
|
@@ -94,6 +121,7 @@ class bitteam extends bitteam$1 {
|
|
|
94
121
|
'fetchPositionsHistory': false,
|
|
95
122
|
'fetchPositionsRisk': false,
|
|
96
123
|
'fetchPremiumIndexOHLCV': false,
|
|
124
|
+
'fetchSettlementHistory': false,
|
|
97
125
|
'fetchStatus': false,
|
|
98
126
|
'fetchTicker': true,
|
|
99
127
|
'fetchTickers': true,
|
|
@@ -106,10 +134,13 @@ class bitteam extends bitteam$1 {
|
|
|
106
134
|
'fetchTransactionFees': false,
|
|
107
135
|
'fetchTransactions': true,
|
|
108
136
|
'fetchTransfers': false,
|
|
137
|
+
'fetchVolatilityHistory': false,
|
|
109
138
|
'fetchWithdrawal': false,
|
|
110
139
|
'fetchWithdrawals': false,
|
|
111
140
|
'fetchWithdrawalWhitelist': false,
|
|
112
141
|
'reduceMargin': false,
|
|
142
|
+
'repayCrossMargin': false,
|
|
143
|
+
'repayIsolatedMargin': false,
|
|
113
144
|
'repayMargin': false,
|
|
114
145
|
'setLeverage': false,
|
|
115
146
|
'setMargin': false,
|
|
@@ -385,7 +385,11 @@ class coinmetro extends coinmetro$1 {
|
|
|
385
385
|
else if (typeRaw === 'fiat') {
|
|
386
386
|
type = 'fiat';
|
|
387
387
|
}
|
|
388
|
-
|
|
388
|
+
let precisionDigits = this.safeString2(currency, 'digits', 'notabeneDecimals');
|
|
389
|
+
if (code === 'RENDER') {
|
|
390
|
+
// RENDER is an exception (with broken info)
|
|
391
|
+
precisionDigits = '4';
|
|
392
|
+
}
|
|
389
393
|
result[code] = this.safeCurrencyStructure({
|
|
390
394
|
'id': id,
|
|
391
395
|
'code': code,
|
package/dist/cjs/src/derive.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
require('../ccxt.js');
|
|
4
3
|
var derive$1 = require('./abstract/derive.js');
|
|
5
|
-
var
|
|
4
|
+
var Precise = require('./base/Precise.js');
|
|
5
|
+
var errors = require('./base/errors.js');
|
|
6
|
+
var crypto = require('./base/functions/crypto.js');
|
|
6
7
|
var sha3 = require('./static_dependencies/noble-hashes/sha3.js');
|
|
7
8
|
var secp256k1 = require('./static_dependencies/noble-curves/secp256k1.js');
|
|
8
|
-
var
|
|
9
|
-
var errors = require('./base/errors.js');
|
|
10
|
-
var Precise = require('./base/Precise.js');
|
|
9
|
+
var number = require('./base/functions/number.js');
|
|
11
10
|
|
|
12
11
|
// ----------------------------------------------------------------------------
|
|
13
12
|
// ---------------------------------------------------------------------------
|
package/dist/cjs/src/ellipx.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var ellipx$1 = require('./abstract/ellipx.js');
|
|
4
4
|
var errors = require('./base/errors.js');
|
|
5
|
-
var number = require('./base/functions/number.js');
|
|
6
|
-
require('../ccxt.js');
|
|
7
|
-
var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
|
|
8
5
|
var ed25519 = require('./static_dependencies/noble-curves/ed25519.js');
|
|
9
6
|
var crypto = require('./base/functions/crypto.js');
|
|
10
7
|
var Precise = require('./base/Precise.js');
|
|
8
|
+
var sha256 = require('./static_dependencies/noble-hashes/sha256.js');
|
|
9
|
+
var number = require('./base/functions/number.js');
|
|
11
10
|
|
|
12
11
|
// ----------------------------------------------------------------------------
|
|
13
12
|
// ---------------------------------------------------------------------------
|
package/dist/cjs/src/gate.js
CHANGED
|
@@ -108,7 +108,7 @@ class gate extends gate$1 {
|
|
|
108
108
|
'fetchCurrencies': true,
|
|
109
109
|
'fetchDepositAddress': true,
|
|
110
110
|
'fetchDepositAddresses': false,
|
|
111
|
-
'fetchDepositAddressesByNetwork':
|
|
111
|
+
'fetchDepositAddressesByNetwork': true,
|
|
112
112
|
'fetchDeposits': true,
|
|
113
113
|
'fetchDepositWithdrawFee': 'emulated',
|
|
114
114
|
'fetchDepositWithdrawFees': true,
|
|
@@ -717,6 +717,16 @@ class gate extends gate$1 {
|
|
|
717
717
|
},
|
|
718
718
|
'networksById': {
|
|
719
719
|
'OPETH': 'OP',
|
|
720
|
+
'ETH': 'ERC20',
|
|
721
|
+
'ERC20': 'ERC20',
|
|
722
|
+
'TRX': 'TRC20',
|
|
723
|
+
'TRC20': 'TRC20',
|
|
724
|
+
'HT': 'HRC20',
|
|
725
|
+
'HECO': 'HRC20',
|
|
726
|
+
'BSC': 'BEP20',
|
|
727
|
+
'BEP20': 'BEP20',
|
|
728
|
+
'POLYGON': 'MATIC',
|
|
729
|
+
'POL': 'MATIC',
|
|
720
730
|
},
|
|
721
731
|
'timeInForce': {
|
|
722
732
|
'GTC': 'gtc',
|
|
@@ -1213,6 +1223,9 @@ class gate extends gate$1 {
|
|
|
1213
1223
|
if (this.options['adjustForTimeDifference']) {
|
|
1214
1224
|
await this.loadTimeDifference();
|
|
1215
1225
|
}
|
|
1226
|
+
if (this.checkRequiredCredentials(false)) {
|
|
1227
|
+
await this.loadUnifiedStatus();
|
|
1228
|
+
}
|
|
1216
1229
|
const sandboxMode = this.safeBool(this.options, 'sandboxMode', false);
|
|
1217
1230
|
let rawPromises = [
|
|
1218
1231
|
this.fetchContractMarkets(params),
|
|
@@ -1826,88 +1839,93 @@ class gate extends gate$1 {
|
|
|
1826
1839
|
if (apiBackup !== undefined) {
|
|
1827
1840
|
return undefined;
|
|
1828
1841
|
}
|
|
1829
|
-
if (this.checkRequiredCredentials(false)) {
|
|
1830
|
-
await this.loadUnifiedStatus();
|
|
1831
|
-
}
|
|
1832
1842
|
const response = await this.publicSpotGetCurrencies(params);
|
|
1833
1843
|
//
|
|
1834
|
-
//
|
|
1835
|
-
//
|
|
1836
|
-
//
|
|
1837
|
-
//
|
|
1838
|
-
//
|
|
1839
|
-
//
|
|
1840
|
-
//
|
|
1841
|
-
//
|
|
1842
|
-
//
|
|
1843
|
-
//
|
|
1844
|
-
//
|
|
1845
|
-
//
|
|
1844
|
+
// [
|
|
1845
|
+
// {
|
|
1846
|
+
// "currency": "USDT",
|
|
1847
|
+
// "name": "Tether",
|
|
1848
|
+
// "delisted": false,
|
|
1849
|
+
// "withdraw_disabled": false,
|
|
1850
|
+
// "withdraw_delayed": false,
|
|
1851
|
+
// "deposit_disabled": false,
|
|
1852
|
+
// "trade_disabled": false,
|
|
1853
|
+
// "fixed_rate": "",
|
|
1854
|
+
// "chain": "ETH",
|
|
1855
|
+
// "chains": [
|
|
1856
|
+
// {
|
|
1857
|
+
// "name": "ETH",
|
|
1858
|
+
// "addr": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
|
|
1859
|
+
// "withdraw_disabled": false,
|
|
1860
|
+
// "withdraw_delayed": false,
|
|
1861
|
+
// "deposit_disabled": false
|
|
1862
|
+
// },
|
|
1863
|
+
// {
|
|
1864
|
+
// "name": "ARBEVM",
|
|
1865
|
+
// "addr": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",
|
|
1866
|
+
// "withdraw_disabled": false,
|
|
1867
|
+
// "withdraw_delayed": false,
|
|
1868
|
+
// "deposit_disabled": false
|
|
1869
|
+
// },
|
|
1870
|
+
// {
|
|
1871
|
+
// "name": "BSC",
|
|
1872
|
+
// "addr": "0x55d398326f99059fF775485246999027B3197955",
|
|
1873
|
+
// "withdraw_disabled": false,
|
|
1874
|
+
// "withdraw_delayed": false,
|
|
1875
|
+
// "deposit_disabled": false
|
|
1876
|
+
// },
|
|
1877
|
+
// ]
|
|
1878
|
+
// },
|
|
1879
|
+
// ]
|
|
1846
1880
|
//
|
|
1847
1881
|
const indexedCurrencies = this.indexBy(response, 'currency');
|
|
1848
1882
|
const result = {};
|
|
1849
1883
|
for (let i = 0; i < response.length; i++) {
|
|
1850
1884
|
const entry = response[i];
|
|
1851
1885
|
const currencyId = this.safeString(entry, 'currency');
|
|
1852
|
-
const
|
|
1853
|
-
const partFirst = this.safeString(parts, 0);
|
|
1854
|
-
// if there's an underscore then the second part is always the chain name (except the _OLD suffix)
|
|
1855
|
-
const currencyName = currencyId.endsWith('_OLD') ? currencyId : partFirst;
|
|
1856
|
-
const withdrawDisabled = this.safeBool(entry, 'withdraw_disabled', false);
|
|
1857
|
-
const depositDisabled = this.safeBool(entry, 'deposit_disabled', false);
|
|
1858
|
-
const tradeDisabled = this.safeBool(entry, 'trade_disabled', false);
|
|
1859
|
-
const precision = this.parseNumber('0.0001'); // temporary safe default, because no value provided from API
|
|
1860
|
-
const code = this.safeCurrencyCode(currencyName);
|
|
1886
|
+
const code = this.safeCurrencyCode(currencyId);
|
|
1861
1887
|
// check leveraged tokens (e.g. BTC3S, ETH5L)
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
'
|
|
1879
|
-
'
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
'
|
|
1884
|
-
|
|
1888
|
+
const type = this.isLeveragedCurrency(currencyId, true, indexedCurrencies) ? 'leveraged' : 'crypto';
|
|
1889
|
+
const chains = this.safeList(entry, 'chains', []);
|
|
1890
|
+
const networks = {};
|
|
1891
|
+
for (let j = 0; j < chains.length; j++) {
|
|
1892
|
+
const chain = chains[j];
|
|
1893
|
+
const networkId = this.safeString(chain, 'name');
|
|
1894
|
+
const networkCode = this.networkIdToCode(networkId);
|
|
1895
|
+
networks[networkCode] = {
|
|
1896
|
+
'info': chain,
|
|
1897
|
+
'id': networkId,
|
|
1898
|
+
'network': networkCode,
|
|
1899
|
+
'active': undefined,
|
|
1900
|
+
'deposit': !this.safeBool(chain, 'deposit_disabled'),
|
|
1901
|
+
'withdraw': !this.safeBool(chain, 'withdraw_disabled'),
|
|
1902
|
+
'fee': undefined,
|
|
1903
|
+
'precision': this.parseNumber('0.0001'),
|
|
1904
|
+
'limits': {
|
|
1905
|
+
'deposit': {
|
|
1906
|
+
'min': undefined,
|
|
1907
|
+
'max': undefined,
|
|
1908
|
+
},
|
|
1909
|
+
'withdraw': {
|
|
1910
|
+
'min': undefined,
|
|
1911
|
+
'max': undefined,
|
|
1912
|
+
},
|
|
1885
1913
|
},
|
|
1886
|
-
},
|
|
1887
|
-
'active': !tradeDisabled,
|
|
1888
|
-
'deposit': !depositDisabled,
|
|
1889
|
-
'withdraw': !withdrawDisabled,
|
|
1890
|
-
'fee': undefined,
|
|
1891
|
-
'precision': precision,
|
|
1892
|
-
};
|
|
1893
|
-
// check if first entry for the specific currency
|
|
1894
|
-
if (!(code in result)) {
|
|
1895
|
-
result[code] = {
|
|
1896
|
-
'id': currencyName,
|
|
1897
|
-
'lowerCaseId': currencyName.toLowerCase(),
|
|
1898
|
-
'code': code,
|
|
1899
|
-
'type': type,
|
|
1900
|
-
'precision': precision,
|
|
1901
|
-
'limits': undefined,
|
|
1902
|
-
'networks': {},
|
|
1903
|
-
'info': [], // will be filled below
|
|
1904
1914
|
};
|
|
1905
1915
|
}
|
|
1906
|
-
result[code]
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1916
|
+
result[code] = this.safeCurrencyStructure({
|
|
1917
|
+
'id': currencyId,
|
|
1918
|
+
'code': code,
|
|
1919
|
+
'name': this.safeString(entry, 'name'),
|
|
1920
|
+
'type': type,
|
|
1921
|
+
'active': !this.safeBool(entry, 'delisted'),
|
|
1922
|
+
'deposit': !this.safeBool(entry, 'deposit_disabled'),
|
|
1923
|
+
'withdraw': !this.safeBool(entry, 'withdraw_disabled'),
|
|
1924
|
+
'fee': undefined,
|
|
1925
|
+
'networks': networks,
|
|
1926
|
+
'precision': this.parseNumber('0.0001'),
|
|
1927
|
+
'info': entry,
|
|
1928
|
+
});
|
|
1911
1929
|
}
|
|
1912
1930
|
return result;
|
|
1913
1931
|
}
|
|
@@ -2179,9 +2197,7 @@ class gate extends gate$1 {
|
|
|
2179
2197
|
const chains = this.safeValue(response, 'multichain_addresses', []);
|
|
2180
2198
|
const currencyId = this.safeString(response, 'currency');
|
|
2181
2199
|
currency = this.safeCurrency(currencyId, currency);
|
|
2182
|
-
const parsed = this.parseDepositAddresses(chains,
|
|
2183
|
-
'currency': currency['id'],
|
|
2184
|
-
});
|
|
2200
|
+
const parsed = this.parseDepositAddresses(chains, undefined, false);
|
|
2185
2201
|
return this.indexBy(parsed, 'network');
|
|
2186
2202
|
}
|
|
2187
2203
|
/**
|
|
@@ -2199,8 +2215,8 @@ class gate extends gate$1 {
|
|
|
2199
2215
|
let networkCode = undefined;
|
|
2200
2216
|
[networkCode, params] = this.handleNetworkCodeAndParams(params);
|
|
2201
2217
|
const chainsIndexedById = await this.fetchDepositAddressesByNetwork(code, params);
|
|
2202
|
-
const
|
|
2203
|
-
return chainsIndexedById[
|
|
2218
|
+
const selectedNetworkIdOrCode = this.selectNetworkCodeFromUnifiedNetworks(code, networkCode, chainsIndexedById);
|
|
2219
|
+
return chainsIndexedById[selectedNetworkIdOrCode];
|
|
2204
2220
|
}
|
|
2205
2221
|
parseDepositAddress(depositAddress, currency = undefined) {
|
|
2206
2222
|
//
|
package/dist/cjs/src/htx.js
CHANGED
|
@@ -4540,6 +4540,8 @@ class htx extends htx$1 {
|
|
|
4540
4540
|
const request = {};
|
|
4541
4541
|
let marketType = undefined;
|
|
4542
4542
|
[marketType, params] = this.handleMarketTypeAndParams('fetchOpenOrders', market, params);
|
|
4543
|
+
let subType = undefined;
|
|
4544
|
+
[subType, params] = this.handleSubTypeAndParams('fetchOpenOrders', market, params, 'linear');
|
|
4543
4545
|
let response = undefined;
|
|
4544
4546
|
if (marketType === 'spot') {
|
|
4545
4547
|
if (symbol !== undefined) {
|
|
@@ -4568,18 +4570,18 @@ class htx extends htx$1 {
|
|
|
4568
4570
|
response = await this.spotPrivateGetV1OrderOpenOrders(this.extend(request, params));
|
|
4569
4571
|
}
|
|
4570
4572
|
else {
|
|
4571
|
-
if (symbol
|
|
4572
|
-
throw new
|
|
4573
|
+
if (symbol !== undefined) {
|
|
4574
|
+
// throw new ArgumentsRequired (this.id + ' fetchOpenOrders() requires a symbol argument');
|
|
4575
|
+
request['contract_code'] = market['id'];
|
|
4573
4576
|
}
|
|
4574
4577
|
if (limit !== undefined) {
|
|
4575
4578
|
request['page_size'] = limit;
|
|
4576
4579
|
}
|
|
4577
|
-
request['contract_code'] = market['id'];
|
|
4578
4580
|
const trigger = this.safeBool2(params, 'stop', 'trigger');
|
|
4579
4581
|
const stopLossTakeProfit = this.safeValue(params, 'stopLossTakeProfit');
|
|
4580
4582
|
const trailing = this.safeBool(params, 'trailing', false);
|
|
4581
4583
|
params = this.omit(params, ['stop', 'stopLossTakeProfit', 'trailing', 'trigger']);
|
|
4582
|
-
if (
|
|
4584
|
+
if (subType === 'linear') {
|
|
4583
4585
|
let marginMode = undefined;
|
|
4584
4586
|
[marginMode, params] = this.handleMarginModeAndParams('fetchOpenOrders', params);
|
|
4585
4587
|
marginMode = (marginMode === undefined) ? 'cross' : marginMode;
|
|
@@ -4612,8 +4614,8 @@ class htx extends htx$1 {
|
|
|
4612
4614
|
}
|
|
4613
4615
|
}
|
|
4614
4616
|
}
|
|
4615
|
-
else if (
|
|
4616
|
-
if (
|
|
4617
|
+
else if (subType === 'inverse') {
|
|
4618
|
+
if (marketType === 'swap') {
|
|
4617
4619
|
if (trigger) {
|
|
4618
4620
|
response = await this.contractPrivatePostSwapApiV1SwapTriggerOpenorders(this.extend(request, params));
|
|
4619
4621
|
}
|
|
@@ -4627,8 +4629,8 @@ class htx extends htx$1 {
|
|
|
4627
4629
|
response = await this.contractPrivatePostSwapApiV1SwapOpenorders(this.extend(request, params));
|
|
4628
4630
|
}
|
|
4629
4631
|
}
|
|
4630
|
-
else if (
|
|
4631
|
-
request['symbol'] = market
|
|
4632
|
+
else if (marketType === 'future') {
|
|
4633
|
+
request['symbol'] = this.safeString(market, 'settleId', 'usdt');
|
|
4632
4634
|
if (trigger) {
|
|
4633
4635
|
response = await this.contractPrivatePostApiV1ContractTriggerOpenorders(this.extend(request, params));
|
|
4634
4636
|
}
|