ccxt 4.2.45 → 4.2.47

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +5405 -8414
  2. package/README.md +4 -4
  3. package/change.sh +5 -3
  4. package/dist/ccxt.browser.js +824 -64
  5. package/dist/ccxt.browser.min.js +7 -7
  6. package/dist/cjs/ccxt.js +1 -1
  7. package/dist/cjs/src/base/ws/Cache.js +13 -5
  8. package/dist/cjs/src/base/ws/OrderBook.js +2 -2
  9. package/dist/cjs/src/binance.js +34 -12
  10. package/dist/cjs/src/bitfinex2.js +1 -0
  11. package/dist/cjs/src/bithumb.js +5 -0
  12. package/dist/cjs/src/btcturk.js +11 -0
  13. package/dist/cjs/src/bybit.js +185 -2
  14. package/dist/cjs/src/coinbase.js +9 -5
  15. package/dist/cjs/src/coincheck.js +11 -0
  16. package/dist/cjs/src/coinmate.js +114 -1
  17. package/dist/cjs/src/coinsph.js +32 -1
  18. package/dist/cjs/src/coinspot.js +7 -0
  19. package/dist/cjs/src/cryptocom.js +2 -2
  20. package/dist/cjs/src/currencycom.js +22 -0
  21. package/dist/cjs/src/deribit.js +34 -1
  22. package/dist/cjs/src/exmo.js +22 -0
  23. package/dist/cjs/src/gemini.js +15 -0
  24. package/dist/cjs/src/hitbtc.js +2 -0
  25. package/dist/cjs/src/hollaex.js +27 -1
  26. package/dist/cjs/src/idex.js +60 -1
  27. package/dist/cjs/src/indodax.js +106 -1
  28. package/dist/cjs/src/latoken.js +3 -0
  29. package/dist/cjs/src/mercado.js +3 -0
  30. package/dist/cjs/src/oceanex.js +3 -0
  31. package/dist/cjs/src/okx.js +1 -0
  32. package/dist/cjs/src/pro/bitget.js +12 -8
  33. package/dist/cjs/src/pro/bitmart.js +11 -11
  34. package/dist/cjs/src/pro/bitmex.js +4 -4
  35. package/dist/cjs/src/pro/cex.js +2 -2
  36. package/dist/cjs/src/pro/gemini.js +4 -3
  37. package/dist/cjs/src/timex.js +65 -0
  38. package/js/ccxt.d.ts +1 -1
  39. package/js/ccxt.js +1 -1
  40. package/js/src/abstract/bequant.d.ts +2 -0
  41. package/js/src/abstract/bitcoincom.d.ts +2 -0
  42. package/js/src/abstract/bithumb.d.ts +5 -0
  43. package/js/src/abstract/coinmate.d.ts +12 -0
  44. package/js/src/abstract/fmfwio.d.ts +2 -0
  45. package/js/src/abstract/hitbtc.d.ts +2 -0
  46. package/js/src/abstract/hitbtc3.d.ts +2 -0
  47. package/js/src/abstract/hollaex.d.ts +3 -0
  48. package/js/src/abstract/okx.d.ts +1 -0
  49. package/js/src/base/Exchange.d.ts +9 -7
  50. package/js/src/base/ws/Cache.d.ts +5 -1
  51. package/js/src/base/ws/Cache.js +13 -5
  52. package/js/src/base/ws/OrderBook.d.ts +5 -1
  53. package/js/src/base/ws/OrderBook.js +3 -3
  54. package/js/src/binance.d.ts +1 -1
  55. package/js/src/binance.js +34 -12
  56. package/js/src/bitfinex2.js +1 -0
  57. package/js/src/bithumb.js +5 -0
  58. package/js/src/btcturk.js +11 -0
  59. package/js/src/bybit.d.ts +2 -0
  60. package/js/src/bybit.js +185 -2
  61. package/js/src/coinbase.js +9 -5
  62. package/js/src/coincheck.js +11 -0
  63. package/js/src/coinmate.d.ts +3 -1
  64. package/js/src/coinmate.js +114 -1
  65. package/js/src/coinsph.js +32 -1
  66. package/js/src/coinspot.js +7 -0
  67. package/js/src/cryptocom.js +2 -2
  68. package/js/src/currencycom.js +22 -0
  69. package/js/src/deribit.js +34 -1
  70. package/js/src/exmo.js +22 -0
  71. package/js/src/gemini.js +15 -0
  72. package/js/src/hitbtc.js +2 -0
  73. package/js/src/hollaex.js +27 -1
  74. package/js/src/idex.d.ts +14 -0
  75. package/js/src/idex.js +60 -1
  76. package/js/src/indodax.d.ts +3 -0
  77. package/js/src/indodax.js +106 -1
  78. package/js/src/latoken.js +3 -0
  79. package/js/src/mercado.js +3 -0
  80. package/js/src/oceanex.js +3 -0
  81. package/js/src/okx.js +1 -0
  82. package/js/src/pro/bitget.js +12 -8
  83. package/js/src/pro/bitmart.js +11 -11
  84. package/js/src/pro/bitmex.js +4 -4
  85. package/js/src/pro/cex.js +2 -2
  86. package/js/src/pro/gemini.js +4 -3
  87. package/js/src/timex.d.ts +14 -0
  88. package/js/src/timex.js +65 -0
  89. package/package.json +1 -1
  90. package/skip-tests.json +4 -0
@@ -62,6 +62,7 @@ class coinmate extends coinmate$1 {
62
62
  'fetchPositionsRisk': false,
63
63
  'fetchPremiumIndexOHLCV': false,
64
64
  'fetchTicker': true,
65
+ 'fetchTickers': true,
65
66
  'fetchTrades': true,
66
67
  'fetchTradingFee': true,
67
68
  'fetchTradingFees': false,
@@ -96,6 +97,8 @@ class coinmate extends coinmate$1 {
96
97
  'get': [
97
98
  'orderBook',
98
99
  'ticker',
100
+ 'tickerAll',
101
+ 'products',
99
102
  'transactions',
100
103
  'tradingPairs',
101
104
  ],
@@ -144,6 +147,16 @@ class coinmate extends coinmate$1 {
144
147
  'unconfirmedEthereumDeposits',
145
148
  'unconfirmedLitecoinDeposits',
146
149
  'unconfirmedRippleDeposits',
150
+ 'cancelAllOpenOrders',
151
+ 'withdrawVirtualCurrency',
152
+ 'virtualCurrencyDepositAddresses',
153
+ 'unconfirmedVirtualCurrencyDeposits',
154
+ 'adaWithdrawal',
155
+ 'adaDepositAddresses',
156
+ 'unconfirmedAdaDeposits',
157
+ 'solWithdrawal',
158
+ 'solDepositAddresses',
159
+ 'unconfirmedSolDeposits',
147
160
  ],
148
161
  },
149
162
  },
@@ -188,6 +201,8 @@ class coinmate extends coinmate$1 {
188
201
  'XRP': 'privatePostRippleWithdrawal',
189
202
  'DASH': 'privatePostDashWithdrawal',
190
203
  'DAI': 'privatePostDaiWithdrawal',
204
+ 'ADA': 'privatePostAdaWithdrawal',
205
+ 'SOL': 'privatePostSolWithdrawal',
191
206
  },
192
207
  },
193
208
  },
@@ -212,6 +227,7 @@ class coinmate extends coinmate$1 {
212
227
  * @method
213
228
  * @name coinmate#fetchMarkets
214
229
  * @description retrieves data on all markets for coinmate
230
+ * @see https://coinmate.docs.apiary.io/#reference/trading-pairs/get-trading-pairs/get
215
231
  * @param {object} [params] extra parameters specific to the exchange API endpoint
216
232
  * @returns {object[]} an array of objects representing market data
217
233
  */
@@ -318,6 +334,7 @@ class coinmate extends coinmate$1 {
318
334
  * @method
319
335
  * @name coinmate#fetchBalance
320
336
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
337
+ * @see https://coinmate.docs.apiary.io/#reference/balance/get-balances/post
321
338
  * @param {object} [params] extra parameters specific to the exchange API endpoint
322
339
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
323
340
  */
@@ -330,6 +347,7 @@ class coinmate extends coinmate$1 {
330
347
  * @method
331
348
  * @name coinmate#fetchOrderBook
332
349
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
350
+ * @see https://coinmate.docs.apiary.io/#reference/order-book/get-order-book/get
333
351
  * @param {string} symbol unified symbol of the market to fetch the order book for
334
352
  * @param {int} [limit] the maximum amount of order book entries to return
335
353
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -351,6 +369,7 @@ class coinmate extends coinmate$1 {
351
369
  * @method
352
370
  * @name coinmate#fetchTicker
353
371
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
372
+ * @see https://coinmate.docs.apiary.io/#reference/ticker/get-ticker/get
354
373
  * @param {string} symbol unified symbol of the market to fetch the ticker for
355
374
  * @param {object} [params] extra parameters specific to the exchange API endpoint
356
375
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -361,7 +380,82 @@ class coinmate extends coinmate$1 {
361
380
  'currencyPair': market['id'],
362
381
  };
363
382
  const response = await this.publicGetTicker(this.extend(request, params));
364
- const ticker = this.safeValue(response, 'data');
383
+ //
384
+ // {
385
+ // "error": false,
386
+ // "errorMessage": null,
387
+ // "data": {
388
+ // "last": 0.55105,
389
+ // "high": 0.56439,
390
+ // "low": 0.54358,
391
+ // "amount": 37038.993381,
392
+ // "bid": 0.54595,
393
+ // "ask": 0.55324,
394
+ // "change": 3.03659243,
395
+ // "open": 0.53481,
396
+ // "timestamp": 1708074779
397
+ // }
398
+ // }
399
+ //
400
+ const data = this.safeValue(response, 'data');
401
+ return this.parseTicker(data, market);
402
+ }
403
+ async fetchTickers(symbols = undefined, params = {}) {
404
+ /**
405
+ * @method
406
+ * @name coinmate#fetchTickers
407
+ * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
408
+ * @see https://coinmate.docs.apiary.io/#reference/ticker/get-ticker-all/get
409
+ * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
410
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
411
+ * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
412
+ */
413
+ await this.loadMarkets();
414
+ symbols = this.marketSymbols(symbols);
415
+ const response = await this.publicGetTickerAll(params);
416
+ //
417
+ // {
418
+ // "error": false,
419
+ // "errorMessage": null,
420
+ // "data": {
421
+ // "LTC_BTC": {
422
+ // "last": "0.001337",
423
+ // "high": "0.001348",
424
+ // "low": "0.001332",
425
+ // "amount": "34.75472959",
426
+ // "bid": "0.001348",
427
+ // "ask": "0.001356",
428
+ // "change": "-0.74239050",
429
+ // "open": "0.001347",
430
+ // "timestamp": "1708074485"
431
+ // }
432
+ // }
433
+ // }
434
+ //
435
+ const data = this.safeValue(response, 'data', {});
436
+ const keys = Object.keys(data);
437
+ const result = {};
438
+ for (let i = 0; i < keys.length; i++) {
439
+ const market = this.market(keys[i]);
440
+ const ticker = this.parseTicker(this.safeValue(data, keys[i]), market);
441
+ result[market['symbol']] = ticker;
442
+ }
443
+ return this.filterByArrayTickers(result, 'symbol', symbols);
444
+ }
445
+ parseTicker(ticker, market = undefined) {
446
+ //
447
+ // {
448
+ // "last": "0.001337",
449
+ // "high": "0.001348",
450
+ // "low": "0.001332",
451
+ // "amount": "34.75472959",
452
+ // "bid": "0.001348",
453
+ // "ask": "0.001356",
454
+ // "change": "-0.74239050",
455
+ // "open": "0.001347",
456
+ // "timestamp": "1708074485"
457
+ // }
458
+ //
365
459
  const timestamp = this.safeTimestamp(ticker, 'timestamp');
366
460
  const last = this.safeNumber(ticker, 'last');
367
461
  return this.safeTicker({
@@ -392,6 +486,7 @@ class coinmate extends coinmate$1 {
392
486
  * @method
393
487
  * @name coinmate#fetchDepositsWithdrawals
394
488
  * @description fetch history of deposits and withdrawals
489
+ * @see https://coinmate.docs.apiary.io/#reference/transfers/get-transfer-history/post
395
490
  * @param {string} [code] unified currency code for the currency of the deposit/withdrawals, default is undefined
396
491
  * @param {int} [since] timestamp in ms of the earliest deposit/withdrawal, default is undefined
397
492
  * @param {int} [limit] max number of deposit/withdrawals to return, default is undefined
@@ -504,6 +599,12 @@ class coinmate extends coinmate$1 {
504
599
  * @method
505
600
  * @name coinmate#withdraw
506
601
  * @description make a withdrawal
602
+ * @see https://coinmate.docs.apiary.io/#reference/bitcoin-withdrawal-and-deposit/withdraw-bitcoins/post
603
+ * @see https://coinmate.docs.apiary.io/#reference/litecoin-withdrawal-and-deposit/withdraw-litecoins/post
604
+ * @see https://coinmate.docs.apiary.io/#reference/ethereum-withdrawal-and-deposit/withdraw-ethereum/post
605
+ * @see https://coinmate.docs.apiary.io/#reference/ripple-withdrawal-and-deposit/withdraw-ripple/post
606
+ * @see https://coinmate.docs.apiary.io/#reference/cardano-withdrawal-and-deposit/withdraw-cardano/post
607
+ * @see https://coinmate.docs.apiary.io/#reference/solana-withdrawal-and-deposit/withdraw-solana/post
507
608
  * @param {string} code unified currency code
508
609
  * @param {float} amount the amount to withdraw
509
610
  * @param {string} address the address to withdraw to
@@ -557,6 +658,7 @@ class coinmate extends coinmate$1 {
557
658
  * @method
558
659
  * @name coinmate#fetchMyTrades
559
660
  * @description fetch all trades made by the user
661
+ * @see https://coinmate.docs.apiary.io/#reference/trade-history/get-trade-history/post
560
662
  * @param {string} symbol unified market symbol
561
663
  * @param {int} [since] the earliest time in ms to fetch trades for
562
664
  * @param {int} [limit] the maximum number of trades structures to retrieve
@@ -649,6 +751,7 @@ class coinmate extends coinmate$1 {
649
751
  * @method
650
752
  * @name coinmate#fetchTrades
651
753
  * @description get the list of most recent trades for a particular symbol
754
+ * @see https://coinmate.docs.apiary.io/#reference/transactions/transactions/get
652
755
  * @param {string} symbol unified symbol of the market to fetch trades for
653
756
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
654
757
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -686,6 +789,7 @@ class coinmate extends coinmate$1 {
686
789
  * @method
687
790
  * @name coinmate#fetchTradingFee
688
791
  * @description fetch the trading fees for a market
792
+ * @see https://coinmate.docs.apiary.io/#reference/trader-fees/get-trading-fees/post
689
793
  * @param {string} symbol unified market symbol
690
794
  * @param {object} [params] extra parameters specific to the exchange API endpoint
691
795
  * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
@@ -722,6 +826,7 @@ class coinmate extends coinmate$1 {
722
826
  * @method
723
827
  * @name coinmate#fetchOpenOrders
724
828
  * @description fetch all unfilled currently open orders
829
+ * @see https://coinmate.docs.apiary.io/#reference/order/get-open-orders/post
725
830
  * @param {string} symbol unified market symbol
726
831
  * @param {int} [since] the earliest time in ms to fetch open orders for
727
832
  * @param {int} [limit] the maximum number of open orders structures to retrieve
@@ -737,6 +842,7 @@ class coinmate extends coinmate$1 {
737
842
  * @method
738
843
  * @name coinmate#fetchOrders
739
844
  * @description fetches information on multiple orders made by the user
845
+ * @see https://coinmate.docs.apiary.io/#reference/order/order-history/post
740
846
  * @param {string} symbol unified market symbol of the market orders were made in
741
847
  * @param {int} [since] the earliest time in ms to fetch orders for
742
848
  * @param {int} [limit] the maximum number of order structures to retrieve
@@ -860,6 +966,10 @@ class coinmate extends coinmate$1 {
860
966
  * @method
861
967
  * @name coinmate#createOrder
862
968
  * @description create a trade order
969
+ * @see https://coinmate.docs.apiary.io/#reference/order/buy-limit-order/post
970
+ * @see https://coinmate.docs.apiary.io/#reference/order/sell-limit-order/post
971
+ * @see https://coinmate.docs.apiary.io/#reference/order/buy-instant-order/post
972
+ * @see https://coinmate.docs.apiary.io/#reference/order/sell-instant-order/post
863
973
  * @param {string} symbol unified symbol of the market to create an order in
864
974
  * @param {string} type 'market' or 'limit'
865
975
  * @param {string} side 'buy' or 'sell'
@@ -900,6 +1010,8 @@ class coinmate extends coinmate$1 {
900
1010
  * @method
901
1011
  * @name coinmate#fetchOrder
902
1012
  * @description fetches information on an order made by the user
1013
+ * @see https://coinmate.docs.apiary.io/#reference/order/get-order-by-orderid/post
1014
+ * @see https://coinmate.docs.apiary.io/#reference/order/get-order-by-clientorderid/post
903
1015
  * @param {string} symbol unified symbol of the market the order was made in
904
1016
  * @param {object} [params] extra parameters specific to the exchange API endpoint
905
1017
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -921,6 +1033,7 @@ class coinmate extends coinmate$1 {
921
1033
  * @method
922
1034
  * @name coinmate#cancelOrder
923
1035
  * @description cancels an open order
1036
+ * @see https://coinmate.docs.apiary.io/#reference/order/cancel-order/post
924
1037
  * @param {string} id order id
925
1038
  * @param {string} symbol not used by coinmate cancelOrder ()
926
1039
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -443,6 +443,7 @@ class coinsph extends coinsph$1 {
443
443
  * @method
444
444
  * @name coinsph#fetchStatus
445
445
  * @description the latest known information on the availability of the exchange API
446
+ * @see https://coins-docs.github.io/rest-api/#test-connectivity
446
447
  * @param {object} [params] extra parameters specific to the exchange API endpoint
447
448
  * @returns {object} a [status structure]{@link https://docs.ccxt.com/#/?id=exchange-status-structure}
448
449
  */
@@ -460,6 +461,7 @@ class coinsph extends coinsph$1 {
460
461
  * @method
461
462
  * @name coinsph#fetchTime
462
463
  * @description fetches the current integer timestamp in milliseconds from the exchange server
464
+ * @see https://coins-docs.github.io/rest-api/#check-server-time
463
465
  * @param {object} [params] extra parameters specific to the exchange API endpoint
464
466
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
465
467
  */
@@ -474,6 +476,7 @@ class coinsph extends coinsph$1 {
474
476
  * @method
475
477
  * @name coinsph#fetchMarkets
476
478
  * @description retrieves data on all markets for coinsph
479
+ * @see https://coins-docs.github.io/rest-api/#exchange-information
477
480
  * @param {object} [params] extra parameters specific to the exchange API endpoint
478
481
  * @returns {object[]} an array of objects representing market data
479
482
  */
@@ -610,6 +613,9 @@ class coinsph extends coinsph$1 {
610
613
  * @method
611
614
  * @name coinsph#fetchTickers
612
615
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
616
+ * @see https://coins-docs.github.io/rest-api/#24hr-ticker-price-change-statistics
617
+ * @see https://coins-docs.github.io/rest-api/#symbol-price-ticker
618
+ * @see https://coins-docs.github.io/rest-api/#symbol-order-book-ticker
613
619
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
614
620
  * @param {object} [params] extra parameters specific to the exchange API endpoint
615
621
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -645,6 +651,9 @@ class coinsph extends coinsph$1 {
645
651
  * @method
646
652
  * @name coinsph#fetchTicker
647
653
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
654
+ * @see https://coins-docs.github.io/rest-api/#24hr-ticker-price-change-statistics
655
+ * @see https://coins-docs.github.io/rest-api/#symbol-price-ticker
656
+ * @see https://coins-docs.github.io/rest-api/#symbol-order-book-ticker
648
657
  * @param {string} symbol unified symbol of the market to fetch the ticker for
649
658
  * @param {object} [params] extra parameters specific to the exchange API endpoint
650
659
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -752,6 +761,7 @@ class coinsph extends coinsph$1 {
752
761
  * @method
753
762
  * @name coinsph#fetchOrderBook
754
763
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
764
+ * @see https://coins-docs.github.io/rest-api/#order-book
755
765
  * @param {string} symbol unified symbol of the market to fetch the order book for
756
766
  * @param {int} [limit] the maximum amount of order book entries to return (default 100, max 200)
757
767
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -788,6 +798,7 @@ class coinsph extends coinsph$1 {
788
798
  * @method
789
799
  * @name coinsph#fetchOHLCV
790
800
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
801
+ * @see https://coins-docs.github.io/rest-api/#klinecandlestick-data
791
802
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
792
803
  * @param {string} timeframe the length of time each candle represents
793
804
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -854,6 +865,7 @@ class coinsph extends coinsph$1 {
854
865
  * @method
855
866
  * @name coinsph#fetchTrades
856
867
  * @description get the list of most recent trades for a particular symbol
868
+ * @see https://coins-docs.github.io/rest-api/#recent-trades-list
857
869
  * @param {string} symbol unified symbol of the market to fetch trades for
858
870
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
859
871
  * @param {int} [limit] the maximum amount of trades to fetch (default 500, max 1000)
@@ -895,6 +907,7 @@ class coinsph extends coinsph$1 {
895
907
  * @method
896
908
  * @name coinsph#fetchMyTrades
897
909
  * @description fetch all trades made by the user
910
+ * @see https://coins-docs.github.io/rest-api/#account-trade-list-user_data
898
911
  * @param {string} symbol unified market symbol
899
912
  * @param {int} [since] the earliest time in ms to fetch trades for
900
913
  * @param {int} [limit] the maximum number of trades structures to retrieve (default 500, max 1000)
@@ -925,6 +938,7 @@ class coinsph extends coinsph$1 {
925
938
  * @method
926
939
  * @name coinsph#fetchOrderTrades
927
940
  * @description fetch all the trades made from a single order
941
+ * @see https://coins-docs.github.io/rest-api/#account-trade-list-user_data
928
942
  * @param {string} id order id
929
943
  * @param {string} symbol unified market symbol
930
944
  * @param {int} [since] the earliest time in ms to fetch trades for
@@ -1031,6 +1045,7 @@ class coinsph extends coinsph$1 {
1031
1045
  * @method
1032
1046
  * @name coinsph#fetchBalance
1033
1047
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
1048
+ * @see https://coins-docs.github.io/rest-api/#accept-the-quote
1034
1049
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1035
1050
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
1036
1051
  */
@@ -1090,11 +1105,14 @@ class coinsph extends coinsph$1 {
1090
1105
  * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1091
1106
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1092
1107
  * @param {float} [params.cost] the quote quantity that can be used as an alternative for the amount for market buy orders
1108
+ * @param {bool} [params.test] set to true to test an order, no order will be created but the request will be validated
1093
1109
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1094
1110
  */
1095
1111
  // todo: add test order low priority
1096
1112
  await this.loadMarkets();
1097
1113
  const market = this.market(symbol);
1114
+ const testOrder = this.safeBool(params, 'test', false);
1115
+ params = this.omit(params, 'test');
1098
1116
  let orderType = this.safeString(params, 'type', type);
1099
1117
  orderType = this.encodeOrderType(orderType);
1100
1118
  params = this.omit(params, 'type');
@@ -1159,7 +1177,13 @@ class coinsph extends coinsph$1 {
1159
1177
  }
1160
1178
  request['newOrderRespType'] = newOrderRespType;
1161
1179
  params = this.omit(params, 'price', 'stopPrice', 'triggerPrice', 'quantity', 'quoteOrderQty');
1162
- const response = await this.privatePostOpenapiV1Order(this.extend(request, params));
1180
+ let response = undefined;
1181
+ if (testOrder) {
1182
+ response = await this.privatePostOpenapiV1OrderTest(this.extend(request, params));
1183
+ }
1184
+ else {
1185
+ response = await this.privatePostOpenapiV1Order(this.extend(request, params));
1186
+ }
1163
1187
  //
1164
1188
  // {
1165
1189
  // "symbol": "ETHUSDT",
@@ -1194,6 +1218,7 @@ class coinsph extends coinsph$1 {
1194
1218
  * @method
1195
1219
  * @name coinsph#fetchOrder
1196
1220
  * @description fetches information on an order made by the user
1221
+ * @see https://coins-docs.github.io/rest-api/#query-order-user_data
1197
1222
  * @param {int|string} id order id
1198
1223
  * @param {string} symbol not used by coinsph fetchOrder ()
1199
1224
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -1217,6 +1242,7 @@ class coinsph extends coinsph$1 {
1217
1242
  * @method
1218
1243
  * @name coinsph#fetchOpenOrders
1219
1244
  * @description fetch all unfilled currently open orders
1245
+ * @see https://coins-docs.github.io/rest-api/#query-order-user_data
1220
1246
  * @param {string} symbol unified market symbol
1221
1247
  * @param {int} [since] the earliest time in ms to fetch open orders for
1222
1248
  * @param {int} [limit] the maximum number of open orders structures to retrieve
@@ -1238,6 +1264,7 @@ class coinsph extends coinsph$1 {
1238
1264
  * @method
1239
1265
  * @name coinsph#fetchClosedOrders
1240
1266
  * @description fetches information on multiple closed orders made by the user
1267
+ * @see https://coins-docs.github.io/rest-api/#history-orders-user_data
1241
1268
  * @param {string} symbol unified market symbol of the market orders were made in
1242
1269
  * @param {int} [since] the earliest time in ms to fetch orders for
1243
1270
  * @param {int} [limit] the maximum number of order structures to retrieve (default 500, max 1000)
@@ -1268,6 +1295,7 @@ class coinsph extends coinsph$1 {
1268
1295
  * @method
1269
1296
  * @name coinsph#cancelOrder
1270
1297
  * @description cancels an open order
1298
+ * @see https://coins-docs.github.io/rest-api/#cancel-order-trade
1271
1299
  * @param {string} id order id
1272
1300
  * @param {string} symbol not used by coinsph cancelOrder ()
1273
1301
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -1291,6 +1319,7 @@ class coinsph extends coinsph$1 {
1291
1319
  * @method
1292
1320
  * @name coinsph#cancelAllOrders
1293
1321
  * @description cancel open orders of market
1322
+ * @see https://coins-docs.github.io/rest-api/#cancel-all-open-orders-on-a-symbol-trade
1294
1323
  * @param {string} symbol unified market symbol
1295
1324
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1296
1325
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -1473,6 +1502,7 @@ class coinsph extends coinsph$1 {
1473
1502
  * @method
1474
1503
  * @name coinsph#fetchTradingFee
1475
1504
  * @description fetch the trading fees for a market
1505
+ * @see https://coins-docs.github.io/rest-api/#trade-fee-user_data
1476
1506
  * @param {string} symbol unified market symbol
1477
1507
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1478
1508
  * @returns {object} a [fee structure]{@link https://docs.ccxt.com/#/?id=fee-structure}
@@ -1500,6 +1530,7 @@ class coinsph extends coinsph$1 {
1500
1530
  * @method
1501
1531
  * @name coinsph#fetchTradingFees
1502
1532
  * @description fetch the trading fees for multiple markets
1533
+ * @see https://coins-docs.github.io/rest-api/#trade-fee-user_data
1503
1534
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1504
1535
  * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
1505
1536
  */
@@ -175,6 +175,7 @@ class coinspot extends coinspot$1 {
175
175
  * @method
176
176
  * @name coinspot#fetchBalance
177
177
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
178
+ * @see https://www.coinspot.com.au/api#listmybalance
178
179
  * @param {object} [params] extra parameters specific to the exchange API endpoint
179
180
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
180
181
  */
@@ -204,6 +205,7 @@ class coinspot extends coinspot$1 {
204
205
  * @method
205
206
  * @name coinspot#fetchOrderBook
206
207
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
208
+ * @see https://www.coinspot.com.au/api#listopenorders
207
209
  * @param {string} symbol unified symbol of the market to fetch the order book for
208
210
  * @param {int} [limit] the maximum amount of order book entries to return
209
211
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -257,6 +259,7 @@ class coinspot extends coinspot$1 {
257
259
  * @method
258
260
  * @name coinspot#fetchTicker
259
261
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
262
+ * @see https://www.coinspot.com.au/api#latestprices
260
263
  * @param {string} symbol unified symbol of the market to fetch the ticker for
261
264
  * @param {object} [params] extra parameters specific to the exchange API endpoint
262
265
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -330,6 +333,7 @@ class coinspot extends coinspot$1 {
330
333
  * @method
331
334
  * @name coinspot#fetchTrades
332
335
  * @description get the list of most recent trades for a particular symbol
336
+ * @see https://www.coinspot.com.au/api#orderhistory
333
337
  * @param {string} symbol unified symbol of the market to fetch trades for
334
338
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
335
339
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -358,6 +362,7 @@ class coinspot extends coinspot$1 {
358
362
  * @method
359
363
  * @name coinspot#fetchMyTrades
360
364
  * @description fetch all trades made by the user
365
+ * @see https://www.coinspot.com.au/api#rotransaction
361
366
  * @param {string} symbol unified market symbol
362
367
  * @param {int} [since] the earliest time in ms to fetch trades for
363
368
  * @param {int} [limit] the maximum number of trades structures to retrieve
@@ -513,6 +518,8 @@ class coinspot extends coinspot$1 {
513
518
  * @method
514
519
  * @name coinspot#cancelOrder
515
520
  * @description cancels an open order
521
+ * @see https://www.coinspot.com.au/api#cancelbuyorder
522
+ * @see https://www.coinspot.com.au/api#cancelsellorder
516
523
  * @param {string} id order id
517
524
  * @param {string} symbol not used by coinspot cancelOrder ()
518
525
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -2316,13 +2316,13 @@ class cryptocom extends cryptocom$1 {
2316
2316
  * @method
2317
2317
  * @name cryptocom#fetchDepositWithdrawFees
2318
2318
  * @description fetch deposit and withdraw fees
2319
- * @see https://exchange-docs.crypto.com/spot/index.html#private-get-currency-networks
2319
+ * @see https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-currency-networks
2320
2320
  * @param {string[]|undefined} codes list of unified currency codes
2321
2321
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2322
2322
  * @returns {object} a list of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure}
2323
2323
  */
2324
2324
  await this.loadMarkets();
2325
- const response = await this.v2PrivatePostPrivateGetCurrencyNetworks(params);
2325
+ const response = await this.v1PrivatePostPrivateGetCurrencyNetworks(params);
2326
2326
  const data = this.safeValue(response, 'result');
2327
2327
  const currencyMap = this.safeValue(data, 'currency_map');
2328
2328
  return this.parseDepositWithdrawFees(currencyMap, codes, 'full_name');
@@ -303,6 +303,7 @@ class currencycom extends currencycom$1 {
303
303
  * @method
304
304
  * @name currencycom#fetchTime
305
305
  * @description fetches the current integer timestamp in milliseconds from the exchange server
306
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/timeUsingGET
306
307
  * @param {object} [params] extra parameters specific to the exchange API endpoint
307
308
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
308
309
  */
@@ -319,6 +320,7 @@ class currencycom extends currencycom$1 {
319
320
  * @method
320
321
  * @name currencycom#fetchCurrencies
321
322
  * @description fetches all available currencies on an exchange
323
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getCurrenciesUsingGET
322
324
  * @param {object} [params] extra parameters specific to the exchange API endpoint
323
325
  * @returns {object} an associative dictionary of currencies
324
326
  */
@@ -391,6 +393,7 @@ class currencycom extends currencycom$1 {
391
393
  * @method
392
394
  * @name currencycom#fetchMarkets
393
395
  * @description retrieves data on all markets for currencycom
396
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/exchangeInfoUsingGET
394
397
  * @param {object} [params] extra parameters specific to the exchange API endpoint
395
398
  * @returns {object[]} an array of objects representing market data
396
399
  */
@@ -579,6 +582,7 @@ class currencycom extends currencycom$1 {
579
582
  * @method
580
583
  * @name currencycom#fetchAccounts
581
584
  * @description fetch all the accounts associated with a profile
585
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/accountUsingGET
582
586
  * @param {object} [params] extra parameters specific to the exchange API endpoint
583
587
  * @returns {object} a dictionary of [account structures]{@link https://docs.ccxt.com/#/?id=account-structure} indexed by the account type
584
588
  */
@@ -635,6 +639,7 @@ class currencycom extends currencycom$1 {
635
639
  * @method
636
640
  * @name currencycom#fetchTradingFees
637
641
  * @description fetch the trading fees for multiple markets
642
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/accountUsingGET
638
643
  * @param {object} [params] extra parameters specific to the exchange API endpoint
639
644
  * @returns {object} a dictionary of [fee structures]{@link https://docs.ccxt.com/#/?id=fee-structure} indexed by market symbols
640
645
  */
@@ -711,6 +716,7 @@ class currencycom extends currencycom$1 {
711
716
  * @method
712
717
  * @name currencycom#fetchBalance
713
718
  * @description query for balance and get the amount of funds available for trading or funds locked in orders
719
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/accountUsingGET
714
720
  * @param {object} [params] extra parameters specific to the exchange API endpoint
715
721
  * @returns {object} a [balance structure]{@link https://docs.ccxt.com/#/?id=balance-structure}
716
722
  */
@@ -754,6 +760,7 @@ class currencycom extends currencycom$1 {
754
760
  * @method
755
761
  * @name currencycom#fetchOrderBook
756
762
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
763
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/depthUsingGET
757
764
  * @param {string} symbol unified symbol of the market to fetch the order book for
758
765
  * @param {int} [limit] the maximum amount of order book entries to return
759
766
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -870,6 +877,7 @@ class currencycom extends currencycom$1 {
870
877
  * @method
871
878
  * @name currencycom#fetchTicker
872
879
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
880
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/ticker_24hrUsingGET
873
881
  * @param {string} symbol unified symbol of the market to fetch the ticker for
874
882
  * @param {object} [params] extra parameters specific to the exchange API endpoint
875
883
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -907,6 +915,7 @@ class currencycom extends currencycom$1 {
907
915
  * @method
908
916
  * @name currencycom#fetchTickers
909
917
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
918
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/ticker_24hrUsingGET
910
919
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
911
920
  * @param {object} [params] extra parameters specific to the exchange API endpoint
912
921
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -958,6 +967,7 @@ class currencycom extends currencycom$1 {
958
967
  * @method
959
968
  * @name currencycom#fetchOHLCV
960
969
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
970
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/klinesUsingGET
961
971
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
962
972
  * @param {string} timeframe the length of time each candle represents
963
973
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -1070,6 +1080,7 @@ class currencycom extends currencycom$1 {
1070
1080
  * @method
1071
1081
  * @name currencycom#fetchTrades
1072
1082
  * @description get the list of most recent trades for a particular symbol
1083
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/aggTradesUsingGET
1073
1084
  * @param {string} symbol unified symbol of the market to fetch trades for
1074
1085
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
1075
1086
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -1254,6 +1265,7 @@ class currencycom extends currencycom$1 {
1254
1265
  * @method
1255
1266
  * @name currencycom#createOrder
1256
1267
  * @description create a trade order
1268
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/orderUsingPOST
1257
1269
  * @param {string} symbol unified symbol of the market to create an order in
1258
1270
  * @param {string} type 'market' or 'limit'
1259
1271
  * @param {string} side 'buy' or 'sell'
@@ -1394,6 +1406,7 @@ class currencycom extends currencycom$1 {
1394
1406
  * @method
1395
1407
  * @name currencycom#fetchOpenOrders
1396
1408
  * @description fetch all unfilled currently open orders
1409
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/openOrdersUsingGET
1397
1410
  * @param {string} symbol unified market symbol
1398
1411
  * @param {int} [since] the earliest time in ms to fetch open orders for
1399
1412
  * @param {int} [limit] the maximum number of open orders structures to retrieve
@@ -1440,6 +1453,7 @@ class currencycom extends currencycom$1 {
1440
1453
  * @method
1441
1454
  * @name currencycom#cancelOrder
1442
1455
  * @description cancels an open order
1456
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/cancelOrderUsingDELETE
1443
1457
  * @param {string} id order id
1444
1458
  * @param {string} symbol unified symbol of the market the order was made in
1445
1459
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -1483,6 +1497,7 @@ class currencycom extends currencycom$1 {
1483
1497
  * @method
1484
1498
  * @name currencycom#fetchMyTrades
1485
1499
  * @description fetch all trades made by the user
1500
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/myTradesUsingGET
1486
1501
  * @param {string} symbol unified market symbol
1487
1502
  * @param {int} [since] the earliest time in ms to fetch trades for
1488
1503
  * @param {int} [limit] the maximum number of trades structures to retrieve
@@ -1526,6 +1541,7 @@ class currencycom extends currencycom$1 {
1526
1541
  * @method
1527
1542
  * @name currencycom#fetchDeposits
1528
1543
  * @description fetch all deposits made to an account
1544
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getDepositsUsingGET
1529
1545
  * @param {string} code unified currency code
1530
1546
  * @param {int} [since] the earliest time in ms to fetch deposits for
1531
1547
  * @param {int} [limit] the maximum number of deposits structures to retrieve
@@ -1539,6 +1555,7 @@ class currencycom extends currencycom$1 {
1539
1555
  * @method
1540
1556
  * @name currencycom#fetchWithdrawals
1541
1557
  * @description fetch all withdrawals made from an account
1558
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getWithdrawalsUsingGET
1542
1559
  * @param {string} code unified currency code
1543
1560
  * @param {int} [since] the earliest time in ms to fetch withdrawals for
1544
1561
  * @param {int} [limit] the maximum number of withdrawals structures to retrieve
@@ -1552,6 +1569,7 @@ class currencycom extends currencycom$1 {
1552
1569
  * @method
1553
1570
  * @name currencycom#fetchDepositsWithdrawals
1554
1571
  * @description fetch history of deposits and withdrawals
1572
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getTransactionsUsingGET
1555
1573
  * @param {string} [code] unified currency code for the currency of the deposit/withdrawals, default is undefined
1556
1574
  * @param {int} [since] timestamp in ms of the earliest deposit/withdrawal, default is undefined
1557
1575
  * @param {int} [limit] max number of deposit/withdrawals to return, default is undefined
@@ -1674,6 +1692,7 @@ class currencycom extends currencycom$1 {
1674
1692
  * @method
1675
1693
  * @name currencycom#fetchLedger
1676
1694
  * @description fetch the history of changes, actions done by the user or operations that altered balance of the user
1695
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getLedgerUsingGET
1677
1696
  * @param {string} code unified currency code, default is undefined
1678
1697
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
1679
1698
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
@@ -1775,6 +1794,7 @@ class currencycom extends currencycom$1 {
1775
1794
  * @method
1776
1795
  * @name currencycom#fetchLeverage
1777
1796
  * @description fetch the set leverage for a market
1797
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/leverageSettingsUsingGET
1778
1798
  * @param {string} symbol unified market symbol
1779
1799
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1780
1800
  * @returns {object} a [leverage structure]{@link https://docs.ccxt.com/#/?id=leverage-structure}
@@ -1798,6 +1818,7 @@ class currencycom extends currencycom$1 {
1798
1818
  * @method
1799
1819
  * @name currencycom#fetchDepositAddress
1800
1820
  * @description fetch the deposit address for a currency associated with this account
1821
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/getDepositAddressUsingGET
1801
1822
  * @param {string} code unified currency code
1802
1823
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1803
1824
  * @returns {object} an [address structure]{@link https://docs.ccxt.com/#/?id=address-structure}
@@ -1864,6 +1885,7 @@ class currencycom extends currencycom$1 {
1864
1885
  * @method
1865
1886
  * @name currencycom#fetchPositions
1866
1887
  * @description fetch all open positions
1888
+ * @see https://apitradedoc.currency.com/swagger-ui.html#/rest-api/tradingPositionsUsingGET
1867
1889
  * @param {string[]|undefined} symbols list of unified market symbols
1868
1890
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1869
1891
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}