ccxt 4.4.47 → 4.4.49
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/bingx.js +88 -30
- package/dist/cjs/src/bitget.js +16 -12
- 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 +85 -10
- 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/deribit.js +82 -0
- package/dist/cjs/src/digifinex.js +131 -11
- package/dist/cjs/src/ellipx.js +61 -0
- package/dist/cjs/src/exmo.js +58 -0
- package/dist/cjs/src/gate.js +10 -1
- package/dist/cjs/src/hitbtc.js +99 -0
- package/dist/cjs/src/hollaex.js +73 -0
- package/dist/cjs/src/htx.js +10 -2
- package/dist/cjs/src/huobijp.js +73 -0
- package/dist/cjs/src/hyperliquid.js +28 -2
- package/dist/cjs/src/idex.js +71 -0
- package/dist/cjs/src/independentreserve.js +124 -0
- package/dist/cjs/src/indodax.js +61 -0
- package/dist/cjs/src/kraken.js +1 -1
- package/dist/cjs/src/krakenfutures.js +4 -4
- package/dist/cjs/src/kuna.js +60 -1
- package/dist/cjs/src/latoken.js +64 -0
- package/dist/cjs/src/lbank.js +70 -0
- package/dist/cjs/src/luno.js +73 -0
- package/dist/cjs/src/lykke.js +64 -0
- package/dist/cjs/src/mercado.js +65 -0
- package/dist/cjs/src/mexc.js +1 -1
- package/dist/cjs/src/myokx.js +10 -0
- package/dist/cjs/src/ndax.js +71 -0
- package/dist/cjs/src/novadax.js +74 -0
- package/dist/cjs/src/oceanex.js +69 -0
- package/dist/cjs/src/okcoin.js +79 -2
- package/dist/cjs/src/okx.js +9 -1
- package/dist/cjs/src/onetrading.js +66 -0
- package/dist/cjs/src/oxfun.js +66 -0
- package/dist/cjs/src/p2b.js +63 -1
- package/dist/cjs/src/paradex.js +73 -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/pro/bitmart.js +6 -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/bingx.d.ts +8 -0
- package/js/src/bingx.js +88 -30
- package/js/src/bitget.d.ts +1 -0
- package/js/src/bitget.js +16 -12
- 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 +2 -1
- package/js/src/coinsph.js +85 -10
- 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/deribit.js +82 -0
- package/js/src/digifinex.d.ts +1 -0
- package/js/src/digifinex.js +131 -11
- package/js/src/ellipx.d.ts +1 -0
- package/js/src/ellipx.js +61 -0
- package/js/src/exmo.js +58 -0
- package/js/src/gate.d.ts +1 -0
- package/js/src/gate.js +10 -1
- package/js/src/hitbtc.js +99 -0
- package/js/src/hollaex.js +73 -0
- package/js/src/htx.d.ts +1 -0
- package/js/src/htx.js +10 -2
- package/js/src/huobijp.js +73 -0
- package/js/src/hyperliquid.d.ts +1 -0
- package/js/src/hyperliquid.js +28 -2
- package/js/src/idex.js +71 -0
- package/js/src/independentreserve.js +124 -0
- package/js/src/indodax.js +61 -0
- package/js/src/kraken.js +1 -1
- package/js/src/krakenfutures.js +4 -4
- package/js/src/kuna.js +60 -1
- package/js/src/latoken.js +64 -0
- package/js/src/lbank.js +70 -0
- package/js/src/luno.js +73 -0
- package/js/src/lykke.js +64 -0
- package/js/src/mercado.js +65 -0
- package/js/src/mexc.js +1 -1
- package/js/src/myokx.js +10 -0
- package/js/src/ndax.js +71 -0
- package/js/src/novadax.js +74 -0
- package/js/src/oceanex.js +69 -0
- package/js/src/okcoin.js +79 -2
- package/js/src/okx.d.ts +1 -0
- package/js/src/okx.js +9 -1
- package/js/src/onetrading.js +66 -0
- package/js/src/oxfun.js +66 -0
- package/js/src/p2b.js +63 -1
- package/js/src/paradex.js +73 -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/pro/bitmart.d.ts +1 -0
- package/js/src/pro/bitmart.js +6 -0
- package/js/src/upbit.js +61 -0
- package/js/src/woo.js +6 -1
- package/package.json +2 -2
package/js/src/huobijp.js
CHANGED
|
@@ -252,6 +252,79 @@ export default class huobijp extends Exchange {
|
|
|
252
252
|
'taker': this.parseNumber('0.002'),
|
|
253
253
|
},
|
|
254
254
|
},
|
|
255
|
+
'features': {
|
|
256
|
+
'spot': {
|
|
257
|
+
'sandbox': false,
|
|
258
|
+
'createOrder': {
|
|
259
|
+
'marginMode': false,
|
|
260
|
+
'triggerPrice': true,
|
|
261
|
+
'triggerPriceType': undefined,
|
|
262
|
+
'triggerDirection': false,
|
|
263
|
+
'stopLossPrice': false,
|
|
264
|
+
'takeProfitPrice': false,
|
|
265
|
+
'attachedStopLossTakeProfit': undefined,
|
|
266
|
+
'timeInForce': {
|
|
267
|
+
'IOC': false,
|
|
268
|
+
'FOK': false,
|
|
269
|
+
'PO': false,
|
|
270
|
+
'GTD': false,
|
|
271
|
+
},
|
|
272
|
+
'hedged': false,
|
|
273
|
+
'selfTradePrevention': false,
|
|
274
|
+
'trailing': false,
|
|
275
|
+
'leverage': false,
|
|
276
|
+
'marketBuyByCost': true,
|
|
277
|
+
'marketBuyRequiresPrice': false,
|
|
278
|
+
'iceberg': false,
|
|
279
|
+
},
|
|
280
|
+
'createOrders': undefined,
|
|
281
|
+
'fetchMyTrades': {
|
|
282
|
+
'marginMode': false,
|
|
283
|
+
'limit': 100,
|
|
284
|
+
'daysBack': 120,
|
|
285
|
+
'untilDays': 2,
|
|
286
|
+
},
|
|
287
|
+
'fetchOrder': {
|
|
288
|
+
'marginMode': false,
|
|
289
|
+
'trigger': false,
|
|
290
|
+
'trailing': false,
|
|
291
|
+
},
|
|
292
|
+
'fetchOpenOrders': {
|
|
293
|
+
'marginMode': false,
|
|
294
|
+
'limit': undefined,
|
|
295
|
+
'trigger': false,
|
|
296
|
+
'trailing': false,
|
|
297
|
+
},
|
|
298
|
+
'fetchOrders': {
|
|
299
|
+
'marginMode': false,
|
|
300
|
+
'limit': undefined,
|
|
301
|
+
'daysBack': undefined,
|
|
302
|
+
'untilDays': undefined,
|
|
303
|
+
'trigger': false,
|
|
304
|
+
'trailing': false,
|
|
305
|
+
},
|
|
306
|
+
'fetchClosedOrders': {
|
|
307
|
+
'marginMode': false,
|
|
308
|
+
'limit': undefined,
|
|
309
|
+
'daysBack': undefined,
|
|
310
|
+
'daysBackCanceled': undefined,
|
|
311
|
+
'untilDays': undefined,
|
|
312
|
+
'trigger': false,
|
|
313
|
+
'trailing': false,
|
|
314
|
+
},
|
|
315
|
+
'fetchOHLCV': {
|
|
316
|
+
'limit': 2000,
|
|
317
|
+
},
|
|
318
|
+
},
|
|
319
|
+
'swap': {
|
|
320
|
+
'linear': undefined,
|
|
321
|
+
'inverse': undefined,
|
|
322
|
+
},
|
|
323
|
+
'future': {
|
|
324
|
+
'linear': undefined,
|
|
325
|
+
'inverse': undefined,
|
|
326
|
+
},
|
|
327
|
+
},
|
|
255
328
|
'precisionMode': TICK_SIZE,
|
|
256
329
|
'exceptions': {
|
|
257
330
|
'broad': {
|
package/js/src/hyperliquid.d.ts
CHANGED
|
@@ -465,6 +465,7 @@ export default class hyperliquid extends Exchange {
|
|
|
465
465
|
* @returns {object} a [transfer structure]{@link https://docs.ccxt.com/#/?id=transfer-structure}
|
|
466
466
|
*/
|
|
467
467
|
transfer(code: string, amount: number, fromAccount: string, toAccount: string, params?: {}): Promise<TransferEntry>;
|
|
468
|
+
parseTransfer(transfer: Dict, currency?: Currency): TransferEntry;
|
|
468
469
|
/**
|
|
469
470
|
* @method
|
|
470
471
|
* @name hyperliquid#withdraw
|
package/js/src/hyperliquid.js
CHANGED
|
@@ -208,6 +208,8 @@ export default class hyperliquid extends Exchange {
|
|
|
208
208
|
'Order price cannot be more than 80% away from the reference price': InvalidOrder,
|
|
209
209
|
'Order has zero size.': InvalidOrder,
|
|
210
210
|
'Insufficient spot balance asset': InsufficientFunds,
|
|
211
|
+
'Insufficient balance for withdrawal': InsufficientFunds,
|
|
212
|
+
'Insufficient balance for token transfer': InsufficientFunds,
|
|
211
213
|
},
|
|
212
214
|
},
|
|
213
215
|
'precisionMode': TICK_SIZE,
|
|
@@ -694,6 +696,11 @@ export default class hyperliquid extends Exchange {
|
|
|
694
696
|
const price = this.safeNumber(market, 'markPx', 0);
|
|
695
697
|
const pricePrecision = this.calculatePricePrecision(price, amountPrecision, 6);
|
|
696
698
|
const pricePrecisionStr = this.numberToString(pricePrecision);
|
|
699
|
+
const isDelisted = this.safeBool(market, 'isDelisted');
|
|
700
|
+
let active = true;
|
|
701
|
+
if (isDelisted !== undefined) {
|
|
702
|
+
active = !isDelisted;
|
|
703
|
+
}
|
|
697
704
|
return this.safeMarketStructure({
|
|
698
705
|
'id': baseId,
|
|
699
706
|
'symbol': symbol,
|
|
@@ -709,7 +716,7 @@ export default class hyperliquid extends Exchange {
|
|
|
709
716
|
'swap': swap,
|
|
710
717
|
'future': false,
|
|
711
718
|
'option': false,
|
|
712
|
-
'active':
|
|
719
|
+
'active': active,
|
|
713
720
|
'contract': contract,
|
|
714
721
|
'linear': true,
|
|
715
722
|
'inverse': false,
|
|
@@ -2855,7 +2862,26 @@ export default class hyperliquid extends Exchange {
|
|
|
2855
2862
|
'signature': sig,
|
|
2856
2863
|
};
|
|
2857
2864
|
const response = await this.privatePostExchange(request);
|
|
2858
|
-
|
|
2865
|
+
//
|
|
2866
|
+
// {'response': {'type': 'default'}, 'status': 'ok'}
|
|
2867
|
+
//
|
|
2868
|
+
return this.parseTransfer(response);
|
|
2869
|
+
}
|
|
2870
|
+
parseTransfer(transfer, currency = undefined) {
|
|
2871
|
+
//
|
|
2872
|
+
// {'response': {'type': 'default'}, 'status': 'ok'}
|
|
2873
|
+
//
|
|
2874
|
+
return {
|
|
2875
|
+
'info': transfer,
|
|
2876
|
+
'id': undefined,
|
|
2877
|
+
'timestamp': undefined,
|
|
2878
|
+
'datetime': undefined,
|
|
2879
|
+
'currency': undefined,
|
|
2880
|
+
'amount': undefined,
|
|
2881
|
+
'fromAccount': undefined,
|
|
2882
|
+
'toAccount': undefined,
|
|
2883
|
+
'status': 'ok',
|
|
2884
|
+
};
|
|
2859
2885
|
}
|
|
2860
2886
|
/**
|
|
2861
2887
|
* @method
|
package/js/src/idex.js
CHANGED
|
@@ -169,6 +169,77 @@ export default class idex extends Exchange {
|
|
|
169
169
|
'defaultSelfTradePrevention': 'cn',
|
|
170
170
|
'network': 'MATIC',
|
|
171
171
|
},
|
|
172
|
+
'features': {
|
|
173
|
+
'spot': {
|
|
174
|
+
'sandbox': false,
|
|
175
|
+
'createOrder': {
|
|
176
|
+
'marginMode': false,
|
|
177
|
+
'triggerPrice': true,
|
|
178
|
+
// todo: revise
|
|
179
|
+
'triggerPriceType': {
|
|
180
|
+
'last': true,
|
|
181
|
+
'mark': true,
|
|
182
|
+
'index': true,
|
|
183
|
+
},
|
|
184
|
+
'triggerDirection': false,
|
|
185
|
+
'stopLossPrice': false,
|
|
186
|
+
'takeProfitPrice': false,
|
|
187
|
+
'attachedStopLossTakeProfit': undefined,
|
|
188
|
+
'timeInForce': {
|
|
189
|
+
'IOC': true,
|
|
190
|
+
'FOK': true,
|
|
191
|
+
'PO': true,
|
|
192
|
+
'GTD': false,
|
|
193
|
+
},
|
|
194
|
+
'hedged': false,
|
|
195
|
+
'selfTradePrevention': true,
|
|
196
|
+
'trailing': false,
|
|
197
|
+
'leverage': false,
|
|
198
|
+
'marketBuyByCost': false,
|
|
199
|
+
'marketBuyRequiresPrice': false,
|
|
200
|
+
'iceberg': false,
|
|
201
|
+
},
|
|
202
|
+
'createOrders': undefined,
|
|
203
|
+
'fetchMyTrades': {
|
|
204
|
+
'marginMode': false,
|
|
205
|
+
'limit': 1000,
|
|
206
|
+
'daysBack': 100000,
|
|
207
|
+
'untilDays': 100000, // todo
|
|
208
|
+
},
|
|
209
|
+
'fetchOrder': {
|
|
210
|
+
'marginMode': false,
|
|
211
|
+
'trigger': false,
|
|
212
|
+
'trailing': false,
|
|
213
|
+
},
|
|
214
|
+
'fetchOpenOrders': {
|
|
215
|
+
'marginMode': false,
|
|
216
|
+
'limit': 1000,
|
|
217
|
+
'trigger': false,
|
|
218
|
+
'trailing': false,
|
|
219
|
+
},
|
|
220
|
+
'fetchOrders': undefined,
|
|
221
|
+
'fetchClosedOrders': {
|
|
222
|
+
'marginMode': false,
|
|
223
|
+
'limit': 1000,
|
|
224
|
+
'daysBack': 1000000,
|
|
225
|
+
'daysBackCanceled': 1,
|
|
226
|
+
'untilDays': 1000000,
|
|
227
|
+
'trigger': false,
|
|
228
|
+
'trailing': false,
|
|
229
|
+
},
|
|
230
|
+
'fetchOHLCV': {
|
|
231
|
+
'limit': 1000,
|
|
232
|
+
},
|
|
233
|
+
},
|
|
234
|
+
'swap': {
|
|
235
|
+
'linear': undefined,
|
|
236
|
+
'inverse': undefined,
|
|
237
|
+
},
|
|
238
|
+
'future': {
|
|
239
|
+
'linear': undefined,
|
|
240
|
+
'inverse': undefined,
|
|
241
|
+
},
|
|
242
|
+
},
|
|
172
243
|
'exceptions': {
|
|
173
244
|
'exact': {
|
|
174
245
|
'INVALID_ORDER_QUANTITY': InvalidOrder,
|
|
@@ -109,6 +109,9 @@ export default class independentreserve extends Exchange {
|
|
|
109
109
|
'GetFxRates',
|
|
110
110
|
'GetOrderMinimumVolumes',
|
|
111
111
|
'GetCryptoWithdrawalFees',
|
|
112
|
+
'GetCryptoWithdrawalFees2',
|
|
113
|
+
'GetNetworks',
|
|
114
|
+
'GetPrimaryCurrencyConfig2',
|
|
112
115
|
],
|
|
113
116
|
},
|
|
114
117
|
'private': {
|
|
@@ -121,7 +124,9 @@ export default class independentreserve extends Exchange {
|
|
|
121
124
|
'GetTransactions',
|
|
122
125
|
'GetFiatBankAccounts',
|
|
123
126
|
'GetDigitalCurrencyDepositAddress',
|
|
127
|
+
'GetDigitalCurrencyDepositAddress2',
|
|
124
128
|
'GetDigitalCurrencyDepositAddresses',
|
|
129
|
+
'GetDigitalCurrencyDepositAddresses2',
|
|
125
130
|
'GetTrades',
|
|
126
131
|
'GetBrokerageFees',
|
|
127
132
|
'GetDigitalCurrencyWithdrawal',
|
|
@@ -132,6 +137,7 @@ export default class independentreserve extends Exchange {
|
|
|
132
137
|
'RequestFiatWithdrawal',
|
|
133
138
|
'WithdrawFiatCurrency',
|
|
134
139
|
'WithdrawDigitalCurrency',
|
|
140
|
+
'WithdrawCrypto',
|
|
135
141
|
],
|
|
136
142
|
},
|
|
137
143
|
},
|
|
@@ -143,10 +149,128 @@ export default class independentreserve extends Exchange {
|
|
|
143
149
|
'tierBased': false,
|
|
144
150
|
},
|
|
145
151
|
},
|
|
152
|
+
'features': {
|
|
153
|
+
'spot': {
|
|
154
|
+
'sandbox': false,
|
|
155
|
+
'createOrder': {
|
|
156
|
+
'marginMode': false,
|
|
157
|
+
'triggerPrice': false,
|
|
158
|
+
'triggerPriceType': undefined,
|
|
159
|
+
'triggerDirection': false,
|
|
160
|
+
'stopLossPrice': false,
|
|
161
|
+
'takeProfitPrice': false,
|
|
162
|
+
'attachedStopLossTakeProfit': undefined,
|
|
163
|
+
'timeInForce': {
|
|
164
|
+
'IOC': false,
|
|
165
|
+
'FOK': false,
|
|
166
|
+
'PO': false,
|
|
167
|
+
'GTD': false,
|
|
168
|
+
},
|
|
169
|
+
'hedged': false,
|
|
170
|
+
'selfTradePrevention': false,
|
|
171
|
+
'trailing': false,
|
|
172
|
+
'leverage': false,
|
|
173
|
+
'marketBuyByCost': false,
|
|
174
|
+
'marketBuyRequiresPrice': false,
|
|
175
|
+
'iceberg': false,
|
|
176
|
+
},
|
|
177
|
+
'createOrders': undefined,
|
|
178
|
+
'fetchMyTrades': {
|
|
179
|
+
'marginMode': false,
|
|
180
|
+
'limit': 100,
|
|
181
|
+
'daysBack': undefined,
|
|
182
|
+
'untilDays': undefined,
|
|
183
|
+
},
|
|
184
|
+
'fetchOrder': {
|
|
185
|
+
'marginMode': false,
|
|
186
|
+
'trigger': false,
|
|
187
|
+
'trailing': false,
|
|
188
|
+
},
|
|
189
|
+
'fetchOpenOrders': {
|
|
190
|
+
'marginMode': false,
|
|
191
|
+
'limit': 100,
|
|
192
|
+
'trigger': false,
|
|
193
|
+
'trailing': false,
|
|
194
|
+
},
|
|
195
|
+
'fetchOrders': undefined,
|
|
196
|
+
'fetchClosedOrders': {
|
|
197
|
+
'marginMode': false,
|
|
198
|
+
'limit': 100,
|
|
199
|
+
'daysBack': undefined,
|
|
200
|
+
'daysBackCanceled': undefined,
|
|
201
|
+
'untilDays': undefined,
|
|
202
|
+
'trigger': false,
|
|
203
|
+
'trailing': false,
|
|
204
|
+
},
|
|
205
|
+
'fetchOHLCV': undefined,
|
|
206
|
+
},
|
|
207
|
+
'swap': {
|
|
208
|
+
'linear': undefined,
|
|
209
|
+
'inverse': undefined,
|
|
210
|
+
},
|
|
211
|
+
'future': {
|
|
212
|
+
'linear': undefined,
|
|
213
|
+
'inverse': undefined,
|
|
214
|
+
},
|
|
215
|
+
},
|
|
146
216
|
'commonCurrencies': {
|
|
147
217
|
'PLA': 'PlayChip',
|
|
148
218
|
},
|
|
149
219
|
'precisionMode': TICK_SIZE,
|
|
220
|
+
'options': {
|
|
221
|
+
'defaultNetworks': {
|
|
222
|
+
'USDT': 'Ethereum',
|
|
223
|
+
'USDC': 'Ethereum',
|
|
224
|
+
'BTC': 'Bitcoin',
|
|
225
|
+
'BCH': 'BitcoinCash',
|
|
226
|
+
'ETH': 'Ethereum',
|
|
227
|
+
'LTC': 'Litecoin',
|
|
228
|
+
'XRP': 'XrpLedger',
|
|
229
|
+
'ZRX': 'Ethereum',
|
|
230
|
+
'EOS': 'EosIo',
|
|
231
|
+
'XLM': 'Stellar',
|
|
232
|
+
'BAT': 'Ethereum',
|
|
233
|
+
'ETC': 'EthereumClassic',
|
|
234
|
+
'LINK': 'Ethereum',
|
|
235
|
+
'MKR': 'Ethereum',
|
|
236
|
+
'DAI': 'Ethereum',
|
|
237
|
+
'COMP': 'Ethereum',
|
|
238
|
+
'SNX': 'Ethereum',
|
|
239
|
+
'YFI': 'Ethereum',
|
|
240
|
+
'AAVE': 'Ethereum',
|
|
241
|
+
'GRT': 'Ethereum',
|
|
242
|
+
'DOT': 'Polkadot',
|
|
243
|
+
'UNI': 'Ethereum',
|
|
244
|
+
'ADA': 'Cardano',
|
|
245
|
+
'MATIC': 'Ethereum',
|
|
246
|
+
'DOGE': 'Dogecoin',
|
|
247
|
+
'SOL': 'Solana',
|
|
248
|
+
'MANA': 'Ethereum',
|
|
249
|
+
'SAND': 'Ethereum',
|
|
250
|
+
'SHIB': 'Ethereum',
|
|
251
|
+
'TRX': 'Tron',
|
|
252
|
+
'RENDER': 'Solana',
|
|
253
|
+
'WIF': 'Solana',
|
|
254
|
+
'RLUSD': 'Ethereum',
|
|
255
|
+
'PEPE': 'Ethereum',
|
|
256
|
+
},
|
|
257
|
+
'networks': {
|
|
258
|
+
'BTC': 'Bitcoin',
|
|
259
|
+
'ETH': 'Ethereum',
|
|
260
|
+
'BCH': 'BitcoinCash',
|
|
261
|
+
'LTC': 'Litecoin',
|
|
262
|
+
'XRP': 'XrpLedger',
|
|
263
|
+
'EOS': 'EosIo',
|
|
264
|
+
'XLM': 'Stellar',
|
|
265
|
+
'ETC': 'EthereumClassic',
|
|
266
|
+
'BSV': 'BitcoinSV',
|
|
267
|
+
'DOGE': 'Dogecoin',
|
|
268
|
+
'DOT': 'Polkadot',
|
|
269
|
+
'ADA': 'Cardano',
|
|
270
|
+
'SOL': 'Solana',
|
|
271
|
+
'TRX': 'Tron',
|
|
272
|
+
},
|
|
273
|
+
},
|
|
150
274
|
});
|
|
151
275
|
}
|
|
152
276
|
/**
|
package/js/src/indodax.js
CHANGED
|
@@ -198,6 +198,67 @@ export default class indodax extends Exchange {
|
|
|
198
198
|
'1w': '1W',
|
|
199
199
|
},
|
|
200
200
|
},
|
|
201
|
+
'features': {
|
|
202
|
+
'spot': {
|
|
203
|
+
'sandbox': false,
|
|
204
|
+
'createOrder': {
|
|
205
|
+
'marginMode': false,
|
|
206
|
+
'triggerPrice': false,
|
|
207
|
+
'triggerPriceType': undefined,
|
|
208
|
+
'triggerDirection': false,
|
|
209
|
+
'stopLossPrice': false,
|
|
210
|
+
'takeProfitPrice': false,
|
|
211
|
+
'attachedStopLossTakeProfit': undefined,
|
|
212
|
+
'timeInForce': {
|
|
213
|
+
'IOC': true,
|
|
214
|
+
'FOK': false,
|
|
215
|
+
'PO': false,
|
|
216
|
+
'GTD': false,
|
|
217
|
+
},
|
|
218
|
+
'hedged': false,
|
|
219
|
+
'selfTradePrevention': false,
|
|
220
|
+
'trailing': false,
|
|
221
|
+
'leverage': false,
|
|
222
|
+
'marketBuyByCost': false,
|
|
223
|
+
'marketBuyRequiresPrice': false,
|
|
224
|
+
'iceberg': false,
|
|
225
|
+
},
|
|
226
|
+
'createOrders': undefined,
|
|
227
|
+
'fetchMyTrades': undefined,
|
|
228
|
+
'fetchOrder': {
|
|
229
|
+
'marginMode': false,
|
|
230
|
+
'trigger': false,
|
|
231
|
+
'trailing': false,
|
|
232
|
+
},
|
|
233
|
+
'fetchOpenOrders': {
|
|
234
|
+
'marginMode': false,
|
|
235
|
+
'limit': undefined,
|
|
236
|
+
'trigger': false,
|
|
237
|
+
'trailing': false,
|
|
238
|
+
},
|
|
239
|
+
'fetchOrders': undefined,
|
|
240
|
+
'fetchClosedOrders': {
|
|
241
|
+
'marginMode': false,
|
|
242
|
+
'limit': 1000,
|
|
243
|
+
'daysBack': 100000,
|
|
244
|
+
'daysBackCanceled': 1,
|
|
245
|
+
'untilDays': undefined,
|
|
246
|
+
'trigger': false,
|
|
247
|
+
'trailing': false,
|
|
248
|
+
},
|
|
249
|
+
'fetchOHLCV': {
|
|
250
|
+
'limit': 2000, // todo: not in request
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
'swap': {
|
|
254
|
+
'linear': undefined,
|
|
255
|
+
'inverse': undefined,
|
|
256
|
+
},
|
|
257
|
+
'future': {
|
|
258
|
+
'linear': undefined,
|
|
259
|
+
'inverse': undefined,
|
|
260
|
+
},
|
|
261
|
+
},
|
|
201
262
|
'commonCurrencies': {
|
|
202
263
|
'STR': 'XLM',
|
|
203
264
|
'BCHABC': 'BCH',
|
package/js/src/kraken.js
CHANGED
|
@@ -695,7 +695,7 @@ export default class kraken extends Exchange {
|
|
|
695
695
|
if (currencyId !== undefined) {
|
|
696
696
|
if (currencyId.length > 3) {
|
|
697
697
|
if ((currencyId.indexOf('X') === 0) || (currencyId.indexOf('Z') === 0)) {
|
|
698
|
-
if (!(currencyId.indexOf('.') > 0)) {
|
|
698
|
+
if (!(currencyId.indexOf('.') > 0) && (currencyId !== 'ZEUS')) {
|
|
699
699
|
currencyId = currencyId.slice(1);
|
|
700
700
|
}
|
|
701
701
|
}
|
package/js/src/krakenfutures.js
CHANGED
|
@@ -2588,18 +2588,18 @@ export default class krakenfutures extends Exchange {
|
|
|
2588
2588
|
for (let i = 0; i < marginLevels.length; i++) {
|
|
2589
2589
|
const tier = marginLevels[i];
|
|
2590
2590
|
const initialMargin = this.safeString(tier, 'initialMargin');
|
|
2591
|
-
const
|
|
2591
|
+
const minNotional = this.safeNumber(tier, 'numNonContractUnits');
|
|
2592
2592
|
if (i !== 0) {
|
|
2593
2593
|
const tiersLength = tiers.length;
|
|
2594
2594
|
const previousTier = tiers[tiersLength - 1];
|
|
2595
|
-
previousTier['
|
|
2595
|
+
previousTier['maxNotional'] = minNotional;
|
|
2596
2596
|
}
|
|
2597
2597
|
tiers.push({
|
|
2598
2598
|
'tier': this.sum(i, 1),
|
|
2599
2599
|
'symbol': this.safeSymbol(marketId, market),
|
|
2600
2600
|
'currency': market['quote'],
|
|
2601
|
-
'
|
|
2602
|
-
'
|
|
2601
|
+
'minNotional': minNotional,
|
|
2602
|
+
'maxNotional': undefined,
|
|
2603
2603
|
'maintenanceMarginRate': this.safeNumber(tier, 'maintenanceMargin'),
|
|
2604
2604
|
'maxLeverage': this.parseNumber(Precise.stringDiv('1', initialMargin)),
|
|
2605
2605
|
'info': tier,
|
package/js/src/kuna.js
CHANGED
|
@@ -74,7 +74,7 @@ export default class kuna extends Exchange {
|
|
|
74
74
|
'fetchMarkets': true,
|
|
75
75
|
'fetchMarkOHLCV': false,
|
|
76
76
|
'fetchMyTrades': true,
|
|
77
|
-
'fetchOHLCV':
|
|
77
|
+
'fetchOHLCV': false,
|
|
78
78
|
'fetchOpenInterest': false,
|
|
79
79
|
'fetchOpenInterestHistory': false,
|
|
80
80
|
'fetchOpenOrders': true,
|
|
@@ -359,6 +359,65 @@ export default class kuna extends Exchange {
|
|
|
359
359
|
],
|
|
360
360
|
},
|
|
361
361
|
},
|
|
362
|
+
'features': {
|
|
363
|
+
'spot': {
|
|
364
|
+
'sandbox': false,
|
|
365
|
+
'createOrder': {
|
|
366
|
+
'marginMode': false,
|
|
367
|
+
'triggerPrice': true,
|
|
368
|
+
'triggerPriceType': undefined,
|
|
369
|
+
'triggerDirection': false,
|
|
370
|
+
'stopLossPrice': false,
|
|
371
|
+
'takeProfitPrice': false,
|
|
372
|
+
'attachedStopLossTakeProfit': undefined,
|
|
373
|
+
'timeInForce': {
|
|
374
|
+
'IOC': false,
|
|
375
|
+
'FOK': false,
|
|
376
|
+
'PO': false,
|
|
377
|
+
'GTD': false,
|
|
378
|
+
},
|
|
379
|
+
'hedged': false,
|
|
380
|
+
'selfTradePrevention': false,
|
|
381
|
+
'trailing': false,
|
|
382
|
+
'leverage': false,
|
|
383
|
+
'marketBuyByCost': true,
|
|
384
|
+
'marketBuyRequiresPrice': false,
|
|
385
|
+
'iceberg': false,
|
|
386
|
+
},
|
|
387
|
+
'createOrders': undefined,
|
|
388
|
+
'fetchMyTrades': undefined,
|
|
389
|
+
'fetchOrder': {
|
|
390
|
+
'marginMode': false,
|
|
391
|
+
'trigger': false,
|
|
392
|
+
'trailing': false,
|
|
393
|
+
},
|
|
394
|
+
'fetchOpenOrders': {
|
|
395
|
+
'marginMode': false,
|
|
396
|
+
'limit': 100,
|
|
397
|
+
'trigger': false,
|
|
398
|
+
'trailing': false,
|
|
399
|
+
},
|
|
400
|
+
'fetchOrders': undefined,
|
|
401
|
+
'fetchClosedOrders': {
|
|
402
|
+
'marginMode': false,
|
|
403
|
+
'limit': 100,
|
|
404
|
+
'daysBack': 100000,
|
|
405
|
+
'daysBackCanceled': 1,
|
|
406
|
+
'untilDays': 14,
|
|
407
|
+
'trigger': false,
|
|
408
|
+
'trailing': false,
|
|
409
|
+
},
|
|
410
|
+
'fetchOHLCV': undefined,
|
|
411
|
+
},
|
|
412
|
+
'swap': {
|
|
413
|
+
'linear': undefined,
|
|
414
|
+
'inverse': undefined,
|
|
415
|
+
},
|
|
416
|
+
'future': {
|
|
417
|
+
'linear': undefined,
|
|
418
|
+
'inverse': undefined,
|
|
419
|
+
},
|
|
420
|
+
},
|
|
362
421
|
'fees': {
|
|
363
422
|
'trading': {
|
|
364
423
|
'tierBased': false,
|
package/js/src/latoken.js
CHANGED
|
@@ -237,6 +237,70 @@ export default class latoken extends Exchange {
|
|
|
237
237
|
'method': 'fetchPrivateTradingFee', // or 'fetchPublicTradingFee'
|
|
238
238
|
},
|
|
239
239
|
},
|
|
240
|
+
'features': {
|
|
241
|
+
'spot': {
|
|
242
|
+
'sandbox': false,
|
|
243
|
+
'createOrder': {
|
|
244
|
+
'marginMode': false,
|
|
245
|
+
'triggerPrice': true,
|
|
246
|
+
'triggerPriceType': undefined,
|
|
247
|
+
'triggerDirection': false,
|
|
248
|
+
'stopLossPrice': false,
|
|
249
|
+
'takeProfitPrice': false,
|
|
250
|
+
'attachedStopLossTakeProfit': undefined,
|
|
251
|
+
'timeInForce': {
|
|
252
|
+
'IOC': true,
|
|
253
|
+
'FOK': true,
|
|
254
|
+
'PO': false,
|
|
255
|
+
'GTD': false,
|
|
256
|
+
},
|
|
257
|
+
'hedged': false,
|
|
258
|
+
'selfTradePrevention': false,
|
|
259
|
+
'trailing': false,
|
|
260
|
+
'leverage': false,
|
|
261
|
+
'marketBuyByCost': true,
|
|
262
|
+
'marketBuyRequiresPrice': false,
|
|
263
|
+
'iceberg': false,
|
|
264
|
+
},
|
|
265
|
+
'createOrders': undefined,
|
|
266
|
+
'fetchMyTrades': {
|
|
267
|
+
'marginMode': false,
|
|
268
|
+
'limit': 1000,
|
|
269
|
+
'daysBack': 100000,
|
|
270
|
+
'untilDays': undefined,
|
|
271
|
+
},
|
|
272
|
+
'fetchOrder': {
|
|
273
|
+
'marginMode': false,
|
|
274
|
+
'trigger': true,
|
|
275
|
+
'trailing': false,
|
|
276
|
+
},
|
|
277
|
+
'fetchOpenOrders': {
|
|
278
|
+
'marginMode': false,
|
|
279
|
+
'limit': undefined,
|
|
280
|
+
'trigger': false,
|
|
281
|
+
'trailing': false,
|
|
282
|
+
},
|
|
283
|
+
'fetchOrders': undefined,
|
|
284
|
+
'fetchClosedOrders': {
|
|
285
|
+
'marginMode': false,
|
|
286
|
+
'limit': 1000,
|
|
287
|
+
'daysBack': 100000,
|
|
288
|
+
'daysBackCanceled': 1,
|
|
289
|
+
'untilDays': undefined,
|
|
290
|
+
'trigger': true,
|
|
291
|
+
'trailing': false,
|
|
292
|
+
},
|
|
293
|
+
'fetchOHLCV': undefined,
|
|
294
|
+
},
|
|
295
|
+
'swap': {
|
|
296
|
+
'linear': undefined,
|
|
297
|
+
'inverse': undefined,
|
|
298
|
+
},
|
|
299
|
+
'future': {
|
|
300
|
+
'linear': undefined,
|
|
301
|
+
'inverse': undefined,
|
|
302
|
+
},
|
|
303
|
+
},
|
|
240
304
|
});
|
|
241
305
|
}
|
|
242
306
|
nonce() {
|