ccxt 4.0.102 → 4.0.103

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/js/src/gate.js CHANGED
@@ -20,7 +20,7 @@ export default class gate extends Exchange {
20
20
  'id': 'gate',
21
21
  'name': 'Gate.io',
22
22
  'countries': ['KR'],
23
- 'rateLimit': 10 / 3,
23
+ 'rateLimit': 50,
24
24
  'version': 'v4',
25
25
  'certified': true,
26
26
  'pro': true,
@@ -147,9 +147,10 @@ export default class gate extends Exchange {
147
147
  },
148
148
  'api': {
149
149
  'public': {
150
+ // All public endpoints 200r/10s per endpoint
150
151
  'wallet': {
151
152
  'get': {
152
- 'currency_chains': 1.5,
153
+ 'currency_chains': 1,
153
154
  },
154
155
  },
155
156
  'spot': {
@@ -183,131 +184,133 @@ export default class gate extends Exchange {
183
184
  },
184
185
  'futures': {
185
186
  'get': {
186
- '{settle}/contracts': 1.5,
187
- '{settle}/contracts/{contract}': 1.5,
188
- '{settle}/order_book': 1.5,
189
- '{settle}/trades': 1.5,
190
- '{settle}/candlesticks': 1.5,
191
- '{settle}/premium_index': 1.5,
192
- '{settle}/tickers': 1.5,
193
- '{settle}/funding_rate': 1.5,
194
- '{settle}/insurance': 1.5,
195
- '{settle}/contract_stats': 1.5,
196
- '{settle}/index_constituents/{index}': 1.5,
197
- '{settle}/liq_orders': 1.5,
187
+ '{settle}/contracts': 1,
188
+ '{settle}/contracts/{contract}': 1,
189
+ '{settle}/order_book': 1,
190
+ '{settle}/trades': 1,
191
+ '{settle}/candlesticks': 1,
192
+ '{settle}/premium_index': 1,
193
+ '{settle}/tickers': 1,
194
+ '{settle}/funding_rate': 1,
195
+ '{settle}/insurance': 1,
196
+ '{settle}/contract_stats': 1,
197
+ '{settle}/index_constituents/{index}': 1,
198
+ '{settle}/liq_orders': 1,
198
199
  },
199
200
  },
200
201
  'delivery': {
201
202
  'get': {
202
- '{settle}/contracts': 1.5,
203
- '{settle}/contracts/{contract}': 1.5,
204
- '{settle}/order_book': 1.5,
205
- '{settle}/trades': 1.5,
206
- '{settle}/candlesticks': 1.5,
207
- '{settle}/tickers': 1.5,
208
- '{settle}/insurance': 1.5,
203
+ '{settle}/contracts': 1,
204
+ '{settle}/contracts/{contract}': 1,
205
+ '{settle}/order_book': 1,
206
+ '{settle}/trades': 1,
207
+ '{settle}/candlesticks': 1,
208
+ '{settle}/tickers': 1,
209
+ '{settle}/insurance': 1,
209
210
  },
210
211
  },
211
212
  'options': {
212
213
  'get': {
213
- 'underlyings': 1.5,
214
- 'expirations': 1.5,
215
- 'contracts': 1.5,
216
- 'contracts/{contract}': 1.5,
217
- 'settlements': 1.5,
218
- 'settlements/{contract}': 1.5,
219
- 'order_book': 1.5,
220
- 'tickers': 1.5,
221
- 'underlying/tickers/{underlying}': 1.5,
222
- 'candlesticks': 1.5,
223
- 'underlying/candlesticks': 1.5,
224
- 'trades': 1.5,
214
+ 'underlyings': 1,
215
+ 'expirations': 1,
216
+ 'contracts': 1,
217
+ 'contracts/{contract}': 1,
218
+ 'settlements': 1,
219
+ 'settlements/{contract}': 1,
220
+ 'order_book': 1,
221
+ 'tickers': 1,
222
+ 'underlying/tickers/{underlying}': 1,
223
+ 'candlesticks': 1,
224
+ 'underlying/candlesticks': 1,
225
+ 'trades': 1,
225
226
  },
226
227
  },
227
228
  'earn': {
228
229
  'get': {
229
- 'uni/currencies': 1.5,
230
- 'uni/currencies/{currency}': 1.5,
230
+ 'uni/currencies': 1,
231
+ 'uni/currencies/{currency}': 1,
231
232
  },
232
233
  },
233
234
  },
234
235
  'private': {
236
+ // private endpoints default is 150r/10s per endpoint
235
237
  'withdrawals': {
236
238
  'post': {
237
- 'withdrawals': 3000, // 3000 = 10 seconds
239
+ 'withdrawals': 20, // 1r/s cost = 20 / 1 = 20
238
240
  },
239
241
  'delete': {
240
- 'withdrawals/{withdrawal_id}': 300,
242
+ 'withdrawals/{withdrawal_id}': 1,
241
243
  },
242
244
  },
243
245
  'wallet': {
244
246
  'get': {
245
- 'deposit_address': 300,
246
- 'withdrawals': 300,
247
- 'deposits': 300,
248
- 'sub_account_transfers': 300,
249
- 'withdraw_status': 300,
250
- 'sub_account_balances': 300,
251
- 'sub_account_margin_balances': 300,
252
- 'sub_account_futures_balances': 300,
253
- 'sub_account_cross_margin_balances': 300,
254
- 'saved_address': 300,
255
- 'fee': 300,
256
- 'total_balance': 300,
247
+ 'deposit_address': 1,
248
+ 'withdrawals': 1,
249
+ 'deposits': 1,
250
+ 'sub_account_transfers': 1,
251
+ 'withdraw_status': 1,
252
+ 'sub_account_balances': 2.5,
253
+ 'sub_account_margin_balances': 2.5,
254
+ 'sub_account_futures_balances': 2.5,
255
+ 'sub_account_cross_margin_balances': 2.5,
256
+ 'saved_address': 1,
257
+ 'fee': 1,
258
+ 'total_balance': 2.5,
257
259
  },
258
260
  'post': {
259
- 'transfers': 300,
260
- 'sub_account_transfers': 300,
261
- 'sub_account_to_sub_account': 300,
261
+ 'transfers': 2.5,
262
+ 'sub_account_transfers': 2.5,
263
+ 'sub_account_to_sub_account': 2.5,
262
264
  },
263
265
  },
264
266
  'subAccounts': {
265
267
  'get': {
266
- 'sub_accounts': 1,
267
- 'sub_accounts/{user_id}': 1,
268
- 'sub_accounts/{user_id}/keys': 1,
269
- 'sub_accounts/{user_id}/keys/{key}': 1,
268
+ 'sub_accounts': 2.5,
269
+ 'sub_accounts/{user_id}': 2.5,
270
+ 'sub_accounts/{user_id}/keys': 2.5,
271
+ 'sub_accounts/{user_id}/keys/{key}': 2.5,
270
272
  },
271
273
  'post': {
272
- 'sub_accounts': 1,
273
- 'sub_accounts/{user_id}/keys': 1,
274
- 'sub_accounts/{user_id}/lock': 1,
275
- 'sub_accounts/{user_id}/unlock': 1,
274
+ 'sub_accounts': 2.5,
275
+ 'sub_accounts/{user_id}/keys': 2.5,
276
+ 'sub_accounts/{user_id}/lock': 2.5,
277
+ 'sub_accounts/{user_id}/unlock': 2.5,
276
278
  },
277
279
  'put': {
278
- 'sub_accounts/{user_id}/keys/{key}': 1,
280
+ 'sub_accounts/{user_id}/keys/{key}': 2.5,
279
281
  },
280
282
  'delete': {
281
- 'sub_accounts/{user_id}/keys/{key}': 1,
283
+ 'sub_accounts/{user_id}/keys/{key}': 2.5,
282
284
  },
283
285
  },
284
286
  'portfolio': {
285
287
  'get': {
286
- 'spot/currency_pairs': 1.5,
287
- 'spot/currency_pairs/{currency_pair}': 1.5,
288
- 'accounts': 1.5,
289
- 'account_mode': 1.5,
290
- 'borrowable': 1.5,
291
- 'transferable': 1.5,
292
- 'loans': 1.5,
293
- 'loan_records': 1.5,
294
- 'interest_records': 1.5,
295
- 'spot/orders': 1.5,
296
- 'spot/orders/{order_id}': 1.5,
288
+ 'spot/currency_pairs': 20 / 15,
289
+ 'spot/currency_pairs/{currency_pair}': 20 / 15,
290
+ 'accounts': 20 / 15,
291
+ 'account_mode': 20 / 15,
292
+ 'borrowable': 20 / 15,
293
+ 'transferable': 20 / 15,
294
+ 'loans': 20 / 15,
295
+ 'loan_records': 20 / 15,
296
+ 'interest_records': 20 / 15,
297
+ 'spot/orders': 20 / 15,
298
+ 'spot/orders/{order_id}': 20 / 15,
297
299
  },
298
300
  'post': {
299
- 'account_mode': 1.5,
300
- 'loans': 1.5,
301
- 'spot/orders': 1.5,
301
+ 'account_mode': 20 / 15,
302
+ 'loans': 200 / 15,
303
+ 'spot/orders': 20 / 15,
302
304
  },
303
305
  'delete': {
304
- 'spot/orders/{order_id}': 1.5,
306
+ 'spot/orders/{order_id}': 20 / 15,
305
307
  },
306
308
  'patch': {
307
- 'spot/orders/{order_id}': 1.5,
309
+ 'spot/orders/{order_id}': 20 / 15,
308
310
  },
309
311
  },
310
312
  'spot': {
313
+ // default is 200r/10s
311
314
  'get': {
312
315
  'fee': 1,
313
316
  'batch_fee': 1,
@@ -321,219 +324,219 @@ export default class gate extends Exchange {
321
324
  'price_orders/{order_id}': 1,
322
325
  },
323
326
  'post': {
324
- 'batch_orders': 1,
327
+ 'batch_orders': 0.4,
325
328
  'cross_liquidate_orders': 1,
326
- 'orders': 1,
327
- 'cancel_batch_orders': 1,
328
- 'countdown_cancel_all': 1,
329
- 'price_orders': 1,
329
+ 'orders': 0.4,
330
+ 'cancel_batch_orders': 20 / 75,
331
+ 'countdown_cancel_all': 20 / 75,
332
+ 'price_orders': 0.4,
330
333
  },
331
334
  'delete': {
332
- 'orders': 1,
333
- 'orders/{order_id}': 1,
334
- 'price_orders': 1,
335
- 'price_orders/{order_id}': 1,
335
+ 'orders': 20 / 75,
336
+ 'orders/{order_id}': 20 / 75,
337
+ 'price_orders': 20 / 75,
338
+ 'price_orders/{order_id}': 20 / 75,
336
339
  },
337
340
  'patch': {
338
- 'orders/{order_id}': 1,
341
+ 'orders/{order_id}': 0.4,
339
342
  },
340
343
  },
341
344
  'margin': {
342
345
  'get': {
343
- 'accounts': 1.5,
344
- 'account_book': 1.5,
345
- 'funding_accounts': 1.5,
346
- 'auto_repay': 1.5,
347
- 'transferable': 1.5,
348
- 'loans': 1.5,
349
- 'loans/{loan_id}': 1.5,
350
- 'loans/{loan_id}/repayment': 1.5,
351
- 'loan_records': 1.5,
352
- 'loan_records/{loan_record_id}': 1.5,
353
- 'borrowable': 1.5,
354
- 'cross/accounts': 1.5,
355
- 'cross/account_book': 1.5,
356
- 'cross/loans': 1.5,
357
- 'cross/loans/{loan_id}': 1.5,
358
- 'cross/repayments': 1.5,
359
- 'cross/interest_records': 1.5,
360
- 'cross/transferable': 1.5,
361
- 'cross/estimate_rate': 1.5,
362
- 'cross/borrowable': 1.5,
363
- 'uni/estimate_rate': 1.5,
364
- 'uni/loans': 1.5,
365
- 'uni/loan_records': 1.5,
366
- 'uni/interest_records': 1.5,
367
- 'uni/borrowable': 1.5,
346
+ 'accounts': 20 / 15,
347
+ 'account_book': 20 / 15,
348
+ 'funding_accounts': 20 / 15,
349
+ 'auto_repay': 20 / 15,
350
+ 'transferable': 20 / 15,
351
+ 'loans': 20 / 15,
352
+ 'loans/{loan_id}': 20 / 15,
353
+ 'loans/{loan_id}/repayment': 20 / 15,
354
+ 'loan_records': 20 / 15,
355
+ 'loan_records/{loan_record_id}': 20 / 15,
356
+ 'borrowable': 20 / 15,
357
+ 'cross/accounts': 20 / 15,
358
+ 'cross/account_book': 20 / 15,
359
+ 'cross/loans': 20 / 15,
360
+ 'cross/loans/{loan_id}': 20 / 15,
361
+ 'cross/repayments': 20 / 15,
362
+ 'cross/interest_records': 20 / 15,
363
+ 'cross/transferable': 20 / 15,
364
+ 'cross/estimate_rate': 20 / 15,
365
+ 'cross/borrowable': 20 / 15,
366
+ 'uni/estimate_rate': 20 / 15,
367
+ 'uni/loans': 20 / 15,
368
+ 'uni/loan_records': 20 / 15,
369
+ 'uni/interest_records': 20 / 15,
370
+ 'uni/borrowable': 20 / 15,
368
371
  },
369
372
  'post': {
370
- 'auto_repay': 1.5,
371
- 'loans': 1.5,
372
- 'merged_loans': 1.5,
373
- 'loans/{loan_id}/repayment': 1.5,
374
- 'cross/loans': 1.5,
375
- 'cross/repayments': 1.5,
376
- 'uni/loans': 1.5,
373
+ 'auto_repay': 20 / 15,
374
+ 'loans': 20 / 15,
375
+ 'merged_loans': 20 / 15,
376
+ 'loans/{loan_id}/repayment': 20 / 15,
377
+ 'cross/loans': 20 / 15,
378
+ 'cross/repayments': 20 / 15,
379
+ 'uni/loans': 20 / 15,
377
380
  },
378
381
  'patch': {
379
- 'loans/{loan_id}': 1.5,
380
- 'loan_records/{loan_record_id}': 1.5,
382
+ 'loans/{loan_id}': 20 / 15,
383
+ 'loan_records/{loan_record_id}': 20 / 15,
381
384
  },
382
385
  'delete': {
383
- 'loans/{loan_id}': 1.5,
386
+ 'loans/{loan_id}': 20 / 15,
384
387
  },
385
388
  },
386
389
  'flash_swap': {
387
390
  'get': {
388
- 'currencies': 1.5,
389
- 'currency_pairs': 1.5,
390
- 'orders': 1.5,
391
- 'orders/{order_id}': 1.5,
391
+ 'currencies': 1,
392
+ 'currency_pairs': 1,
393
+ 'orders': 1,
394
+ 'orders/{order_id}': 1,
392
395
  },
393
396
  'post': {
394
- 'orders': 1.5,
395
- 'orders/preview': 1.5,
397
+ 'orders': 1,
398
+ 'orders/preview': 1,
396
399
  },
397
400
  },
398
401
  'futures': {
399
402
  'get': {
400
- '{settle}/accounts': 1.5,
401
- '{settle}/account_book': 1.5,
402
- '{settle}/positions': 1.5,
403
- '{settle}/positions/{contract}': 1.5,
404
- '{settle}/dual_comp/positions/{contract}': 1.5,
405
- '{settle}/orders': 1.5,
406
- '{settle}/orders_timerange': 1.5,
407
- '{settle}/orders/{order_id}': 1.5,
408
- '{settle}/my_trades': 1.5,
409
- '{settle}/my_trades_timerange': 1.5,
410
- '{settle}/position_close': 1.5,
411
- '{settle}/liquidates': 1.5,
412
- '{settle}/auto_deleverages': 1.5,
413
- '{settle}/fee': 1.5,
414
- '{settle}/price_orders': 1.5,
415
- '{settle}/price_orders/{order_id}': 1.5,
403
+ '{settle}/accounts': 1,
404
+ '{settle}/account_book': 1,
405
+ '{settle}/positions': 1,
406
+ '{settle}/positions/{contract}': 1,
407
+ '{settle}/dual_comp/positions/{contract}': 1,
408
+ '{settle}/orders': 1,
409
+ '{settle}/orders_timerange': 1,
410
+ '{settle}/orders/{order_id}': 1,
411
+ '{settle}/my_trades': 1,
412
+ '{settle}/my_trades_timerange': 1,
413
+ '{settle}/position_close': 1,
414
+ '{settle}/liquidates': 1,
415
+ '{settle}/auto_deleverages': 1,
416
+ '{settle}/fee': 1,
417
+ '{settle}/price_orders': 1,
418
+ '{settle}/price_orders/{order_id}': 1,
416
419
  },
417
420
  'post': {
418
- '{settle}/positions/{contract}/margin': 1.5,
419
- '{settle}/positions/{contract}/leverage': 1.5,
420
- '{settle}/positions/{contract}/risk_limit': 1.5,
421
- '{settle}/dual_mode': 1.5,
422
- '{settle}/dual_comp/positions/{contract}/margin': 1.5,
423
- '{settle}/dual_comp/positions/{contract}/leverage': 1.5,
424
- '{settle}/dual_comp/positions/{contract}/risk_limit': 1.5,
425
- '{settle}/orders': 1.5,
426
- '{settle}/batch_orders': 1.5,
427
- '{settle}/countdown_cancel_all': 1.5,
428
- '{settle}/price_orders': 1.5,
421
+ '{settle}/positions/{contract}/margin': 1,
422
+ '{settle}/positions/{contract}/leverage': 1,
423
+ '{settle}/positions/{contract}/risk_limit': 1,
424
+ '{settle}/dual_mode': 1,
425
+ '{settle}/dual_comp/positions/{contract}/margin': 1,
426
+ '{settle}/dual_comp/positions/{contract}/leverage': 1,
427
+ '{settle}/dual_comp/positions/{contract}/risk_limit': 1,
428
+ '{settle}/orders': 0.4,
429
+ '{settle}/batch_orders': 0.4,
430
+ '{settle}/countdown_cancel_all': 0.4,
431
+ '{settle}/price_orders': 0.4,
429
432
  },
430
433
  'put': {
431
- '{settle}/orders/{order_id}': 1.5,
434
+ '{settle}/orders/{order_id}': 1,
432
435
  },
433
436
  'delete': {
434
- '{settle}/orders': 1.5,
435
- '{settle}/orders/{order_id}': 1.5,
436
- '{settle}/price_orders': 1.5,
437
- '{settle}/price_orders/{order_id}': 1.5,
437
+ '{settle}/orders': 20 / 75,
438
+ '{settle}/orders/{order_id}': 20 / 75,
439
+ '{settle}/price_orders': 20 / 75,
440
+ '{settle}/price_orders/{order_id}': 20 / 75,
438
441
  },
439
442
  },
440
443
  'delivery': {
441
444
  'get': {
442
- '{settle}/accounts': 1.5,
443
- '{settle}/account_book': 1.5,
444
- '{settle}/positions': 1.5,
445
- '{settle}/positions/{contract}': 1.5,
446
- '{settle}/orders': 1.5,
447
- '{settle}/orders/{order_id}': 1.5,
448
- '{settle}/my_trades': 1.5,
449
- '{settle}/position_close': 1.5,
450
- '{settle}/liquidates': 1.5,
451
- '{settle}/settlements': 1.5,
452
- '{settle}/price_orders': 1.5,
453
- '{settle}/price_orders/{order_id}': 1.5,
445
+ '{settle}/accounts': 20 / 15,
446
+ '{settle}/account_book': 20 / 15,
447
+ '{settle}/positions': 20 / 15,
448
+ '{settle}/positions/{contract}': 20 / 15,
449
+ '{settle}/orders': 20 / 15,
450
+ '{settle}/orders/{order_id}': 20 / 15,
451
+ '{settle}/my_trades': 20 / 15,
452
+ '{settle}/position_close': 20 / 15,
453
+ '{settle}/liquidates': 20 / 15,
454
+ '{settle}/settlements': 20 / 15,
455
+ '{settle}/price_orders': 20 / 15,
456
+ '{settle}/price_orders/{order_id}': 20 / 15,
454
457
  },
455
458
  'post': {
456
- '{settle}/positions/{contract}/margin': 1.5,
457
- '{settle}/positions/{contract}/leverage': 1.5,
458
- '{settle}/positions/{contract}/risk_limit': 1.5,
459
- '{settle}/orders': 1.5,
460
- '{settle}/price_orders': 1.5,
459
+ '{settle}/positions/{contract}/margin': 20 / 15,
460
+ '{settle}/positions/{contract}/leverage': 20 / 15,
461
+ '{settle}/positions/{contract}/risk_limit': 20 / 15,
462
+ '{settle}/orders': 20 / 15,
463
+ '{settle}/price_orders': 20 / 15,
461
464
  },
462
465
  'delete': {
463
- '{settle}/orders': 1.5,
464
- '{settle}/orders/{order_id}': 1.5,
465
- '{settle}/price_orders': 1.5,
466
- '{settle}/price_orders/{order_id}': 1.5,
466
+ '{settle}/orders': 20 / 15,
467
+ '{settle}/orders/{order_id}': 20 / 15,
468
+ '{settle}/price_orders': 20 / 15,
469
+ '{settle}/price_orders/{order_id}': 20 / 15,
467
470
  },
468
471
  },
469
472
  'options': {
470
473
  'get': {
471
- 'my_settlements': 1.5,
472
- 'accounts': 1.5,
473
- 'account_book': 1.5,
474
- 'positions': 1.5,
475
- 'positions/{contract}': 1.5,
476
- 'position_close': 1.5,
477
- 'orders': 1.5,
478
- 'orders/{order_id}': 1.5,
479
- 'my_trades': 1.5,
474
+ 'my_settlements': 20 / 15,
475
+ 'accounts': 20 / 15,
476
+ 'account_book': 20 / 15,
477
+ 'positions': 20 / 15,
478
+ 'positions/{contract}': 20 / 15,
479
+ 'position_close': 20 / 15,
480
+ 'orders': 20 / 15,
481
+ 'orders/{order_id}': 20 / 15,
482
+ 'my_trades': 20 / 15,
480
483
  },
481
484
  'post': {
482
- 'orders': 1.5,
485
+ 'orders': 20 / 15,
483
486
  },
484
487
  'delete': {
485
- 'orders': 1.5,
486
- 'orders/{order_id}': 1.5,
488
+ 'orders': 20 / 15,
489
+ 'orders/{order_id}': 20 / 15,
487
490
  },
488
491
  },
489
492
  'earn': {
490
493
  'get': {
491
- 'uni/lends': 1.5,
492
- 'uni/lend_records': 1.5,
493
- 'uni/interests/{currency}': 1.5,
494
- 'uni/interest_records': 1.5,
494
+ 'uni/lends': 20 / 15,
495
+ 'uni/lend_records': 20 / 15,
496
+ 'uni/interests/{currency}': 20 / 15,
497
+ 'uni/interest_records': 20 / 15,
495
498
  },
496
499
  'post': {
497
- 'uni/lends': 1.5,
500
+ 'uni/lends': 20 / 15,
498
501
  },
499
502
  'patch': {
500
- 'uni/lends': 1.5,
503
+ 'uni/lends': 20 / 15,
501
504
  },
502
505
  },
503
506
  'loan': {
504
507
  'get': {
505
- 'collateral/orders': 1.5,
506
- 'collateral/orders/{order_id}': 1.5,
507
- 'collateral/repay_records': 1.5,
508
- 'collateral/collaterals': 1.5,
509
- 'collateral/total_amount': 1.5,
510
- 'collateral/ltv': 1.5,
511
- 'collateral/currencies': 1.5,
508
+ 'collateral/orders': 20 / 15,
509
+ 'collateral/orders/{order_id}': 20 / 15,
510
+ 'collateral/repay_records': 20 / 15,
511
+ 'collateral/collaterals': 20 / 15,
512
+ 'collateral/total_amount': 20 / 15,
513
+ 'collateral/ltv': 20 / 15,
514
+ 'collateral/currencies': 20 / 15,
512
515
  },
513
516
  'post': {
514
- 'collateral/orders': 1.5,
515
- 'collateral/repay': 1.5,
516
- 'collateral/collaterals': 1.5,
517
+ 'collateral/orders': 20 / 15,
518
+ 'collateral/repay': 20 / 15,
519
+ 'collateral/collaterals': 20 / 15,
517
520
  },
518
521
  },
519
522
  'account': {
520
523
  'get': {
521
- 'detail': 1.5,
522
- 'stp_groups': 1.5,
523
- 'stp_groups/{stp_id}/users': 1.5,
524
+ 'detail': 20 / 15,
525
+ 'stp_groups': 20 / 15,
526
+ 'stp_groups/{stp_id}/users': 20 / 15,
524
527
  },
525
528
  'post': {
526
- 'stp_groups': 1.5,
527
- 'stp_groups/{stp_id}/users': 1.5,
529
+ 'stp_groups': 20 / 15,
530
+ 'stp_groups/{stp_id}/users': 20 / 15,
528
531
  },
529
532
  'delete': {
530
- 'stp_groups/{stp_id}/users': 1.5,
533
+ 'stp_groups/{stp_id}/users': 20 / 15,
531
534
  },
532
535
  },
533
536
  'rebate': {
534
537
  'get': {
535
- 'agency/transaction_history': 1.5,
536
- 'agency/commission_history': 1.5,
538
+ 'agency/transaction_history': 20 / 15,
539
+ 'agency/commission_history': 20 / 15,
537
540
  },
538
541
  },
539
542
  },
@@ -1250,7 +1250,8 @@ export default class wavesexchange extends Exchange {
1250
1250
  toPrecision(amount, scale) {
1251
1251
  const amountString = this.numberToString(amount);
1252
1252
  const precise = new Precise(amountString);
1253
- precise.decimals = Precise.stringSub(precise.decimals, scale);
1253
+ // precise.decimals should be integer
1254
+ precise.decimals = this.parseToInt(Precise.stringSub(this.numberToString(precise.decimals), this.numberToString(scale)));
1254
1255
  precise.reduce();
1255
1256
  return precise;
1256
1257
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.0.102",
3
+ "version": "4.0.103",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
package/skip-tests.json CHANGED
@@ -537,6 +537,7 @@
537
537
  }
538
538
  },
539
539
  "coinbasepro": {
540
+ "skipPhpAsync": true,
540
541
  "skipMethods": {
541
542
  "fetchStatus": "request timeout",
542
543
  "fetchCurrencies": {
@@ -546,6 +547,7 @@
546
547
  }
547
548
  },
548
549
  "coinbaseprime": {
550
+ "skipPhpAsync": true,
549
551
  "skipMethods": {
550
552
  "fetchStatus": "request timeout",
551
553
  "fetchCurrencies": {