ccxt 4.1.44 → 4.1.45

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 (206) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.js +542 -581
  3. package/dist/ccxt.browser.min.js +9 -9
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/ace.js +1 -3
  6. package/dist/cjs/src/ascendex.js +1 -3
  7. package/dist/cjs/src/bigone.js +2 -6
  8. package/dist/cjs/src/binance.js +16 -12
  9. package/dist/cjs/src/bit2c.js +2 -4
  10. package/dist/cjs/src/bitbns.js +5 -15
  11. package/dist/cjs/src/bitfinex.js +1 -3
  12. package/dist/cjs/src/bitfinex2.js +1 -3
  13. package/dist/cjs/src/bitflyer.js +4 -12
  14. package/dist/cjs/src/bitforex.js +4 -8
  15. package/dist/cjs/src/bithumb.js +4 -10
  16. package/dist/cjs/src/bitmart.js +64 -59
  17. package/dist/cjs/src/bitmex.js +2 -6
  18. package/dist/cjs/src/bitopro.js +6 -16
  19. package/dist/cjs/src/bitrue.js +6 -14
  20. package/dist/cjs/src/bitvavo.js +3 -9
  21. package/dist/cjs/src/btctradeua.js +2 -4
  22. package/dist/cjs/src/bybit.js +4 -0
  23. package/dist/cjs/src/cex.js +2 -4
  24. package/dist/cjs/src/coinbasepro.js +2 -2
  25. package/dist/cjs/src/coinex.js +7 -24
  26. package/dist/cjs/src/coinfalcon.js +1 -3
  27. package/dist/cjs/src/coinmate.js +2 -4
  28. package/dist/cjs/src/coinone.js +2 -6
  29. package/dist/cjs/src/coinsph.js +5 -13
  30. package/dist/cjs/src/currencycom.js +2 -6
  31. package/dist/cjs/src/gate.js +2 -6
  32. package/dist/cjs/src/gemini.js +1 -3
  33. package/dist/cjs/src/hitbtc.js +290 -100
  34. package/dist/cjs/src/hollaex.js +1 -3
  35. package/dist/cjs/src/huobi.js +3 -12
  36. package/dist/cjs/src/huobijp.js +1 -3
  37. package/dist/cjs/src/indodax.js +4 -10
  38. package/dist/cjs/src/kucoinfutures.js +2 -7
  39. package/dist/cjs/src/kuna.js +1 -0
  40. package/dist/cjs/src/luno.js +1 -3
  41. package/dist/cjs/src/mercado.js +7 -17
  42. package/dist/cjs/src/mexc.js +5 -15
  43. package/dist/cjs/src/oceanex.js +2 -4
  44. package/dist/cjs/src/okx.js +14 -19
  45. package/dist/cjs/src/phemex.js +12 -33
  46. package/dist/cjs/src/poloniexfutures.js +2 -6
  47. package/dist/cjs/src/pro/bitmart.js +2 -4
  48. package/dist/cjs/src/pro/bitrue.js +0 -4
  49. package/dist/cjs/src/pro/bitstamp.js +2 -4
  50. package/dist/cjs/src/pro/bitvavo.js +3 -7
  51. package/dist/cjs/src/pro/cex.js +2 -6
  52. package/dist/cjs/src/pro/whitebit.js +3 -7
  53. package/dist/cjs/src/probit.js +2 -6
  54. package/dist/cjs/src/tokocrypto.js +3 -7
  55. package/dist/cjs/src/wavesexchange.js +2 -4
  56. package/dist/cjs/src/wazirx.js +4 -10
  57. package/dist/cjs/src/whitebit.js +3 -7
  58. package/dist/cjs/src/woo.js +0 -3
  59. package/dist/cjs/src/yobit.js +3 -7
  60. package/js/ccxt.d.ts +1 -1
  61. package/js/ccxt.js +1 -1
  62. package/js/src/abstract/bequant.d.ts +37 -7
  63. package/js/src/abstract/binance.d.ts +1 -0
  64. package/js/src/abstract/binancecoinm.d.ts +1 -0
  65. package/js/src/abstract/binanceus.d.ts +1 -0
  66. package/js/src/abstract/binanceusdm.d.ts +1 -0
  67. package/js/src/abstract/bitcoincom.d.ts +37 -7
  68. package/js/src/abstract/bybit.d.ts +3 -0
  69. package/js/src/abstract/fmfwio.d.ts +37 -7
  70. package/js/src/abstract/hitbtc.d.ts +37 -7
  71. package/js/src/abstract/hitbtc3.d.ts +37 -7
  72. package/js/src/abstract/okex.d.ts +6 -1
  73. package/js/src/abstract/okex5.d.ts +6 -1
  74. package/js/src/abstract/okx.d.ts +6 -1
  75. package/js/src/ace.d.ts +2 -2
  76. package/js/src/ace.js +2 -4
  77. package/js/src/alpaca.d.ts +2 -2
  78. package/js/src/ascendex.d.ts +2 -2
  79. package/js/src/ascendex.js +1 -3
  80. package/js/src/bigone.d.ts +2 -2
  81. package/js/src/bigone.js +3 -7
  82. package/js/src/binance.d.ts +2 -2
  83. package/js/src/binance.js +16 -12
  84. package/js/src/bingx.d.ts +2 -2
  85. package/js/src/bit2c.d.ts +2 -2
  86. package/js/src/bit2c.js +3 -5
  87. package/js/src/bitbank.d.ts +2 -2
  88. package/js/src/bitbns.d.ts +2 -2
  89. package/js/src/bitbns.js +5 -15
  90. package/js/src/bitfinex.d.ts +2 -2
  91. package/js/src/bitfinex.js +1 -3
  92. package/js/src/bitfinex2.js +1 -3
  93. package/js/src/bitflyer.d.ts +2 -2
  94. package/js/src/bitflyer.js +4 -12
  95. package/js/src/bitforex.d.ts +2 -2
  96. package/js/src/bitforex.js +5 -9
  97. package/js/src/bitget.d.ts +2 -2
  98. package/js/src/bithumb.d.ts +2 -2
  99. package/js/src/bithumb.js +4 -10
  100. package/js/src/bitmart.d.ts +2 -2
  101. package/js/src/bitmart.js +64 -59
  102. package/js/src/bitmex.js +2 -6
  103. package/js/src/bitopro.d.ts +2 -2
  104. package/js/src/bitopro.js +6 -16
  105. package/js/src/bitpanda.d.ts +2 -2
  106. package/js/src/bitrue.d.ts +2 -2
  107. package/js/src/bitrue.js +6 -14
  108. package/js/src/bitso.d.ts +2 -2
  109. package/js/src/bitstamp.d.ts +2 -2
  110. package/js/src/bitstamp1.d.ts +2 -2
  111. package/js/src/bittrex.d.ts +2 -2
  112. package/js/src/bitvavo.d.ts +2 -2
  113. package/js/src/bitvavo.js +3 -9
  114. package/js/src/bl3p.d.ts +2 -2
  115. package/js/src/blockchaincom.d.ts +4 -4
  116. package/js/src/btcalpha.d.ts +2 -2
  117. package/js/src/btcbox.d.ts +2 -2
  118. package/js/src/btcmarkets.d.ts +2 -2
  119. package/js/src/btctradeua.d.ts +2 -2
  120. package/js/src/btctradeua.js +3 -5
  121. package/js/src/btcturk.d.ts +2 -2
  122. package/js/src/bybit.d.ts +2 -2
  123. package/js/src/bybit.js +4 -0
  124. package/js/src/cex.d.ts +2 -2
  125. package/js/src/cex.js +2 -4
  126. package/js/src/coinbase.d.ts +2 -2
  127. package/js/src/coinbasepro.d.ts +2 -2
  128. package/js/src/coinbasepro.js +2 -2
  129. package/js/src/coincheck.d.ts +2 -2
  130. package/js/src/coinex.js +7 -24
  131. package/js/src/coinfalcon.d.ts +2 -2
  132. package/js/src/coinfalcon.js +2 -4
  133. package/js/src/coinlist.d.ts +12 -12
  134. package/js/src/coinmate.d.ts +3 -3
  135. package/js/src/coinmate.js +3 -5
  136. package/js/src/coinone.d.ts +2 -2
  137. package/js/src/coinone.js +2 -6
  138. package/js/src/coinsph.d.ts +2 -2
  139. package/js/src/coinsph.js +5 -13
  140. package/js/src/coinspot.d.ts +2 -2
  141. package/js/src/cryptocom.d.ts +2 -2
  142. package/js/src/currencycom.d.ts +2 -2
  143. package/js/src/currencycom.js +2 -6
  144. package/js/src/delta.d.ts +2 -2
  145. package/js/src/deribit.d.ts +3 -3
  146. package/js/src/digifinex.d.ts +2 -2
  147. package/js/src/gate.d.ts +2 -2
  148. package/js/src/gate.js +2 -6
  149. package/js/src/gemini.d.ts +3 -3
  150. package/js/src/gemini.js +1 -3
  151. package/js/src/hitbtc.d.ts +3 -0
  152. package/js/src/hitbtc.js +291 -101
  153. package/js/src/hollaex.js +1 -3
  154. package/js/src/huobi.d.ts +2 -2
  155. package/js/src/huobi.js +3 -12
  156. package/js/src/huobijp.d.ts +2 -2
  157. package/js/src/huobijp.js +2 -4
  158. package/js/src/independentreserve.d.ts +2 -2
  159. package/js/src/indodax.d.ts +2 -2
  160. package/js/src/indodax.js +4 -10
  161. package/js/src/kraken.d.ts +2 -2
  162. package/js/src/krakenfutures.d.ts +2 -2
  163. package/js/src/kucoin.d.ts +2 -2
  164. package/js/src/kucoinfutures.d.ts +2 -2
  165. package/js/src/kucoinfutures.js +2 -7
  166. package/js/src/kuna.d.ts +3 -3
  167. package/js/src/kuna.js +1 -0
  168. package/js/src/latoken.d.ts +2 -2
  169. package/js/src/lbank2.d.ts +2 -2
  170. package/js/src/luno.d.ts +2 -2
  171. package/js/src/luno.js +1 -3
  172. package/js/src/lykke.d.ts +2 -2
  173. package/js/src/mercado.d.ts +2 -2
  174. package/js/src/mercado.js +7 -17
  175. package/js/src/mexc.js +5 -15
  176. package/js/src/novadax.d.ts +2 -2
  177. package/js/src/oceanex.d.ts +4 -4
  178. package/js/src/oceanex.js +2 -4
  179. package/js/src/okcoin.d.ts +2 -2
  180. package/js/src/okx.d.ts +2 -2
  181. package/js/src/okx.js +14 -19
  182. package/js/src/paymium.d.ts +2 -2
  183. package/js/src/phemex.js +12 -33
  184. package/js/src/poloniexfutures.d.ts +2 -2
  185. package/js/src/poloniexfutures.js +2 -6
  186. package/js/src/pro/bitmart.js +2 -4
  187. package/js/src/pro/bitrue.js +0 -4
  188. package/js/src/pro/bitstamp.js +3 -5
  189. package/js/src/pro/bitvavo.js +4 -8
  190. package/js/src/pro/cex.js +3 -7
  191. package/js/src/pro/whitebit.js +4 -8
  192. package/js/src/probit.d.ts +2 -2
  193. package/js/src/probit.js +3 -7
  194. package/js/src/timex.d.ts +2 -2
  195. package/js/src/tokocrypto.d.ts +2 -2
  196. package/js/src/tokocrypto.js +4 -8
  197. package/js/src/wavesexchange.js +3 -5
  198. package/js/src/wazirx.d.ts +2 -2
  199. package/js/src/wazirx.js +5 -11
  200. package/js/src/whitebit.d.ts +2 -2
  201. package/js/src/whitebit.js +3 -7
  202. package/js/src/woo.d.ts +2 -2
  203. package/js/src/woo.js +1 -4
  204. package/js/src/yobit.js +3 -7
  205. package/js/src/zaif.d.ts +2 -2
  206. package/package.json +1 -1
@@ -1055,9 +1055,7 @@ class bitopro extends bitopro$1 {
1055
1055
  * @param {object} [params] extra parameters specific to the bitopro api endpoint
1056
1056
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1057
1057
  */
1058
- if (symbol === undefined) {
1059
- throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires the symbol argument');
1060
- }
1058
+ this.checkRequiredSymbol('cancelOrder', symbol);
1061
1059
  await this.loadMarkets();
1062
1060
  const market = this.market(symbol);
1063
1061
  const request = {
@@ -1087,9 +1085,7 @@ class bitopro extends bitopro$1 {
1087
1085
  * @param {object} [params] extra parameters specific to the bitopro api endpoint
1088
1086
  * @returns {object} an list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1089
1087
  */
1090
- if (symbol === undefined) {
1091
- throw new errors.ArgumentsRequired(this.id + ' cancelOrders() requires a symbol argument');
1092
- }
1088
+ this.checkRequiredSymbol('cancelOrders', symbol);
1093
1089
  await this.loadMarkets();
1094
1090
  const market = this.market(symbol);
1095
1091
  const id = market['uppercaseId'];
@@ -1154,9 +1150,7 @@ class bitopro extends bitopro$1 {
1154
1150
  * @param {object} [params] extra parameters specific to the bitopro api endpoint
1155
1151
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1156
1152
  */
1157
- if (symbol === undefined) {
1158
- throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires the symbol argument');
1159
- }
1153
+ this.checkRequiredSymbol('fetchOrder', symbol);
1160
1154
  await this.loadMarkets();
1161
1155
  const market = this.market(symbol);
1162
1156
  const request = {
@@ -1197,13 +1191,11 @@ class bitopro extends bitopro$1 {
1197
1191
  * @see https://github.com/bitoex/bitopro-offical-api-docs/blob/master/api/v3/private/get_orders_data.md
1198
1192
  * @param {string} symbol unified market symbol of the market orders were made in
1199
1193
  * @param {int} [since] the earliest time in ms to fetch orders for
1200
- * @param {int} [limit] the maximum number of orde structures to retrieve
1194
+ * @param {int} [limit] the maximum number of order structures to retrieve
1201
1195
  * @param {object} [params] extra parameters specific to the bitopro api endpoint
1202
1196
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1203
1197
  */
1204
- if (symbol === undefined) {
1205
- throw new errors.ArgumentsRequired(this.id + ' fetchOrders() requires the symbol argument');
1206
- }
1198
+ this.checkRequiredSymbol('fetchOrders', symbol);
1207
1199
  await this.loadMarkets();
1208
1200
  const market = this.market(symbol);
1209
1201
  const request = {
@@ -1287,9 +1279,7 @@ class bitopro extends bitopro$1 {
1287
1279
  * @param {object} [params] extra parameters specific to the bitopro api endpoint
1288
1280
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
1289
1281
  */
1290
- if (symbol === undefined) {
1291
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires the symbol argument');
1292
- }
1282
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
1293
1283
  await this.loadMarkets();
1294
1284
  const market = this.market(symbol);
1295
1285
  const request = {
@@ -1369,9 +1369,7 @@ class bitrue extends bitrue$1 {
1369
1369
  * @param {object} [params] extra parameters specific to the bitrue api endpoint
1370
1370
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1371
1371
  */
1372
- if (symbol === undefined) {
1373
- throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
1374
- }
1372
+ this.checkRequiredSymbol('fetchOrder', symbol);
1375
1373
  await this.loadMarkets();
1376
1374
  const market = this.market(symbol);
1377
1375
  const request = {
@@ -1395,13 +1393,11 @@ class bitrue extends bitrue$1 {
1395
1393
  * @description fetches information on multiple closed orders made by the user
1396
1394
  * @param {string} symbol unified market symbol of the market orders were made in
1397
1395
  * @param {int} [since] the earliest time in ms to fetch orders for
1398
- * @param {int} [limit] the maximum number of orde structures to retrieve
1396
+ * @param {int} [limit] the maximum number of order structures to retrieve
1399
1397
  * @param {object} [params] extra parameters specific to the bitrue api endpoint
1400
1398
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1401
1399
  */
1402
- if (symbol === undefined) {
1403
- throw new errors.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
1404
- }
1400
+ this.checkRequiredSymbol('fetchClosedOrders', symbol);
1405
1401
  await this.loadMarkets();
1406
1402
  const market = this.market(symbol);
1407
1403
  const request = {
@@ -1449,13 +1445,11 @@ class bitrue extends bitrue$1 {
1449
1445
  * @description fetch all unfilled currently open orders
1450
1446
  * @param {string} symbol unified market symbol
1451
1447
  * @param {int} [since] the earliest time in ms to fetch open orders for
1452
- * @param {int} [limit] the maximum number of open orders structures to retrieve
1448
+ * @param {int} [limit] the maximum number of open order structures to retrieve
1453
1449
  * @param {object} [params] extra parameters specific to the bitrue api endpoint
1454
1450
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1455
1451
  */
1456
- if (symbol === undefined) {
1457
- throw new errors.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
1458
- }
1452
+ this.checkRequiredSymbol('fetchOpenOrders', symbol);
1459
1453
  await this.loadMarkets();
1460
1454
  const market = this.market(symbol);
1461
1455
  const request = {
@@ -1496,9 +1490,7 @@ class bitrue extends bitrue$1 {
1496
1490
  * @param {object} [params] extra parameters specific to the bitrue api endpoint
1497
1491
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1498
1492
  */
1499
- if (symbol === undefined) {
1500
- throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
1501
- }
1493
+ this.checkRequiredSymbol('cancelOrder', symbol);
1502
1494
  await this.loadMarkets();
1503
1495
  const market = this.market(symbol);
1504
1496
  const origClientOrderId = this.safeValue2(params, 'origClientOrderId', 'clientOrderId');
@@ -1143,9 +1143,7 @@ class bitvavo extends bitvavo$1 {
1143
1143
  * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1144
1144
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1145
1145
  */
1146
- if (symbol === undefined) {
1147
- throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
1148
- }
1146
+ this.checkRequiredSymbol('cancelOrder', symbol);
1149
1147
  await this.loadMarkets();
1150
1148
  const market = this.market(symbol);
1151
1149
  const request = {
@@ -1195,9 +1193,7 @@ class bitvavo extends bitvavo$1 {
1195
1193
  * @param {object} [params] extra parameters specific to the bitvavo api endpoint
1196
1194
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1197
1195
  */
1198
- if (symbol === undefined) {
1199
- throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
1200
- }
1196
+ this.checkRequiredSymbol('fetchOrder', symbol);
1201
1197
  await this.loadMarkets();
1202
1198
  const market = this.market(symbol);
1203
1199
  const request = {
@@ -1512,9 +1508,7 @@ class bitvavo extends bitvavo$1 {
1512
1508
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
1513
1509
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
1514
1510
  */
1515
- if (symbol === undefined) {
1516
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
1517
- }
1511
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
1518
1512
  await this.loadMarkets();
1519
1513
  let paginate = false;
1520
1514
  [paginate, params] = this.handleOptionAndParams(params, 'fetchMyTrades', 'paginate');
@@ -525,13 +525,11 @@ class btctradeua extends btctradeua$1 {
525
525
  * @description fetch all unfilled currently open orders
526
526
  * @param {string} symbol unified market symbol
527
527
  * @param {int} [since] the earliest time in ms to fetch open orders for
528
- * @param {int} [limit] the maximum number of open orders structures to retrieve
528
+ * @param {int} [limit] the maximum number of open order structures to retrieve
529
529
  * @param {object} [params] extra parameters specific to the btctradeua api endpoint
530
530
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
531
531
  */
532
- if (symbol === undefined) {
533
- throw new errors.ArgumentsRequired(this.id + ' fetchOpenOrders() requires a symbol argument');
534
- }
532
+ this.checkRequiredSymbol('fetchOpenOrders', symbol);
535
533
  await this.loadMarkets();
536
534
  const market = this.market(symbol);
537
535
  const request = {
@@ -323,6 +323,8 @@ class bybit extends bybit$1 {
323
323
  'v5/spot-cross-margin-trade/orders': 1,
324
324
  'v5/spot-cross-margin-trade/repay-history': 1,
325
325
  // institutional lending
326
+ 'v5/ins-loan/product-infos': 5,
327
+ 'v5/ins-loan/ensure-tokens-convert': 5,
326
328
  'v5/ins-loan/loan-order': 5,
327
329
  'v5/ins-loan/repaid-history': 5,
328
330
  'v5/ins-loan/ltv-convert': 5,
@@ -459,6 +461,8 @@ class bybit extends bybit$1 {
459
461
  'v5/spot-cross-margin-trade/loan': 2.5,
460
462
  'v5/spot-cross-margin-trade/repay': 2.5,
461
463
  'v5/spot-cross-margin-trade/switch': 2.5,
464
+ // institutional lending
465
+ 'v5/ins-loan/association-uid': 5,
462
466
  // c2c lending
463
467
  'v5/lending/purchase': 5,
464
468
  'v5/lending/redeem': 5,
@@ -1130,15 +1130,13 @@ class cex extends cex$1 {
1130
1130
  * @description fetches information on multiple closed orders made by the user
1131
1131
  * @param {string} symbol unified market symbol of the market orders were made in
1132
1132
  * @param {int} [since] the earliest time in ms to fetch orders for
1133
- * @param {int} [limit] the maximum number of orde structures to retrieve
1133
+ * @param {int} [limit] the maximum number of order structures to retrieve
1134
1134
  * @param {object} [params] extra parameters specific to the cex api endpoint
1135
1135
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1136
1136
  */
1137
+ this.checkRequiredSymbol('fetchClosedOrders', symbol);
1137
1138
  await this.loadMarkets();
1138
1139
  const method = 'privatePostArchivedOrdersPair';
1139
- if (symbol === undefined) {
1140
- throw new errors.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
1141
- }
1142
1140
  const market = this.market(symbol);
1143
1141
  const request = { 'pair': market['id'] };
1144
1142
  const response = await this[method](this.extend(request, params));
@@ -1233,7 +1233,7 @@ class coinbasepro extends coinbasepro$1 {
1233
1233
  if (clientOrderId !== undefined) {
1234
1234
  request['client_oid'] = clientOrderId;
1235
1235
  }
1236
- const stopPrice = this.safeNumber2(params, 'stopPrice', 'stop_price');
1236
+ const stopPrice = this.safeNumberN(params, ['stopPrice', 'stop_price', 'triggerPrice']);
1237
1237
  if (stopPrice !== undefined) {
1238
1238
  request['stop_price'] = this.priceToPrecision(symbol, stopPrice);
1239
1239
  }
@@ -1245,7 +1245,7 @@ class coinbasepro extends coinbasepro$1 {
1245
1245
  if (postOnly) {
1246
1246
  request['post_only'] = true;
1247
1247
  }
1248
- params = this.omit(params, ['timeInForce', 'time_in_force', 'stopPrice', 'stop_price', 'clientOrderId', 'client_oid', 'postOnly', 'post_only']);
1248
+ params = this.omit(params, ['timeInForce', 'time_in_force', 'stopPrice', 'stop_price', 'clientOrderId', 'client_oid', 'postOnly', 'post_only', 'triggerPrice']);
1249
1249
  if (type === 'limit') {
1250
1250
  request['price'] = this.priceToPrecision(symbol, price);
1251
1251
  request['size'] = this.amountToPrecision(symbol, amount);
@@ -901,9 +901,6 @@ class coinex extends coinex$1 {
901
901
  * @param {object} [params] extra parameters specific to the coinex api endpoint
902
902
  * @returns {object} A dictionary of [order book structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-book-structure} indexed by market symbols
903
903
  */
904
- if (symbol === undefined) {
905
- throw new errors.ArgumentsRequired(this.id + ' fetchOrderBook() requires a symbol argument');
906
- }
907
904
  await this.loadMarkets();
908
905
  const market = this.market(symbol);
909
906
  if (limit === undefined) {
@@ -2302,9 +2299,7 @@ class coinex extends coinex$1 {
2302
2299
  * @param {object} [params] extra parameters specific to the coinex api endpoint
2303
2300
  * @returns {object[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
2304
2301
  */
2305
- if (symbol === undefined) {
2306
- throw new errors.ArgumentsRequired(this.id + ' cancellAllOrders() requires a symbol argument');
2307
- }
2302
+ this.checkRequiredSymbol('cancelAllOrders', symbol);
2308
2303
  await this.loadMarkets();
2309
2304
  const market = this.market(symbol);
2310
2305
  const marketId = market['id'];
@@ -2352,9 +2347,7 @@ class coinex extends coinex$1 {
2352
2347
  * @param {object} [params] extra parameters specific to the coinex api endpoint
2353
2348
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
2354
2349
  */
2355
- if (symbol === undefined) {
2356
- throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
2357
- }
2350
+ this.checkRequiredSymbol('fetchOrder', symbol);
2358
2351
  await this.loadMarkets();
2359
2352
  const market = this.market(symbol);
2360
2353
  const swap = market['swap'];
@@ -3257,9 +3250,7 @@ class coinex extends coinex$1 {
3257
3250
  * @param {object} [params] extra parameters specific to the coinex api endpoint
3258
3251
  * @returns {object} response from the exchange
3259
3252
  */
3260
- if (symbol === undefined) {
3261
- throw new errors.ArgumentsRequired(this.id + ' setMarginMode() requires a symbol argument');
3262
- }
3253
+ this.checkRequiredSymbol('setMarginMode', symbol);
3263
3254
  marginMode = marginMode.toLowerCase();
3264
3255
  if (marginMode !== 'isolated' && marginMode !== 'cross') {
3265
3256
  throw new errors.BadRequest(this.id + ' setMarginMode() marginMode argument should be isolated or cross');
@@ -3533,9 +3524,7 @@ class coinex extends coinex$1 {
3533
3524
  * @param {object} [params] extra parameters specific to the coinex api endpoint
3534
3525
  * @returns {object} a [funding history structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-history-structure}
3535
3526
  */
3536
- if (symbol === undefined) {
3537
- throw new errors.ArgumentsRequired(this.id + ' fetchFundingHistory() requires a symbol argument');
3538
- }
3527
+ this.checkRequiredSymbol('fetchFundingHistory', symbol);
3539
3528
  limit = (limit === undefined) ? 100 : limit;
3540
3529
  await this.loadMarkets();
3541
3530
  const market = this.market(symbol);
@@ -3855,9 +3844,7 @@ class coinex extends coinex$1 {
3855
3844
  * @param {int} [params.until] timestamp in ms of the latest funding rate
3856
3845
  * @returns {object[]} a list of [funding rate structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-history-structure}
3857
3846
  */
3858
- if (symbol === undefined) {
3859
- throw new errors.ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
3860
- }
3847
+ this.checkRequiredSymbol('fetchFundingRateHistory', symbol);
3861
3848
  await this.loadMarkets();
3862
3849
  let paginate = false;
3863
3850
  [paginate, params] = this.handleOptionAndParams(params, 'fetchFundingRateHistory', 'paginate');
@@ -4579,9 +4566,7 @@ class coinex extends coinex$1 {
4579
4566
  * @param {object} [params] extra parameters specific to the coinex api endpoint
4580
4567
  * @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
4581
4568
  */
4582
- if (symbol === undefined) {
4583
- throw new errors.ArgumentsRequired(this.id + ' borrowMargin() requires a symbol argument');
4584
- }
4569
+ this.checkRequiredSymbol('borrowMargin', symbol);
4585
4570
  await this.loadMarkets();
4586
4571
  const market = this.market(symbol);
4587
4572
  const currency = this.currency(code);
@@ -4620,9 +4605,7 @@ class coinex extends coinex$1 {
4620
4605
  * @param {string} [params.loan_id] extra parameter that is not required
4621
4606
  * @returns {object} a [margin loan structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#margin-loan-structure}
4622
4607
  */
4623
- if (symbol === undefined) {
4624
- throw new errors.ArgumentsRequired(this.id + ' repayMargin() requires a symbol argument');
4625
- }
4608
+ this.checkRequiredSymbol('repayMargin', symbol);
4626
4609
  await this.loadMarkets();
4627
4610
  const market = this.market(symbol);
4628
4611
  const currency = this.currency(code);
@@ -405,9 +405,7 @@ class coinfalcon extends coinfalcon$1 {
405
405
  * @param {object} [params] extra parameters specific to the coinfalcon api endpoint
406
406
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
407
407
  */
408
- if (symbol === undefined) {
409
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
410
- }
408
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
411
409
  await this.loadMarkets();
412
410
  const market = this.market(symbol);
413
411
  const request = {
@@ -735,13 +735,11 @@ class coinmate extends coinmate$1 {
735
735
  * @description fetches information on multiple orders made by the user
736
736
  * @param {string} symbol unified market symbol of the market orders were made in
737
737
  * @param {int} [since] the earliest time in ms to fetch orders for
738
- * @param {int} [limit] the maximum number of orde structures to retrieve
738
+ * @param {int} [limit] the maximum number of order structures to retrieve
739
739
  * @param {object} [params] extra parameters specific to the coinmate api endpoint
740
740
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
741
741
  */
742
- if (symbol === undefined) {
743
- throw new errors.ArgumentsRequired(this.id + ' fetchOrders() requires a symbol argument');
744
- }
742
+ this.checkRequiredSymbol('fetchOrders', symbol);
745
743
  await this.loadMarkets();
746
744
  const market = this.market(symbol);
747
745
  const request = {
@@ -534,9 +534,7 @@ class coinone extends coinone$1 {
534
534
  * @param {object} [params] extra parameters specific to the coinone api endpoint
535
535
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
536
536
  */
537
- if (symbol === undefined) {
538
- throw new errors.ArgumentsRequired(this.id + ' fetchOrder() requires a symbol argument');
539
- }
537
+ this.checkRequiredSymbol('fetchOrder', symbol);
540
538
  await this.loadMarkets();
541
539
  const market = this.market(symbol);
542
540
  const request = {
@@ -746,9 +744,7 @@ class coinone extends coinone$1 {
746
744
  * @param {object} [params] extra parameters specific to the coinone api endpoint
747
745
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
748
746
  */
749
- if (symbol === undefined) {
750
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
751
- }
747
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
752
748
  await this.loadMarkets();
753
749
  const market = this.market(symbol);
754
750
  const request = {
@@ -877,9 +877,7 @@ class coinsph extends coinsph$1 {
877
877
  * @param {object} [params] extra parameters specific to the coinsph api endpoint
878
878
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
879
879
  */
880
- if (symbol === undefined) {
881
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
882
- }
880
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
883
881
  await this.loadMarkets();
884
882
  const market = this.market(symbol);
885
883
  const request = {
@@ -908,9 +906,7 @@ class coinsph extends coinsph$1 {
908
906
  * @param {object} [params] extra parameters specific to the coinsph api endpoint
909
907
  * @returns {object[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
910
908
  */
911
- if (symbol === undefined) {
912
- throw new errors.ArgumentsRequired(this.id + ' fetchOrderTrades() requires a symbol argument');
913
- }
909
+ this.checkRequiredSymbol('fetchOrderTrades', symbol);
914
910
  const request = {
915
911
  'orderId': id,
916
912
  };
@@ -1210,13 +1206,11 @@ class coinsph extends coinsph$1 {
1210
1206
  * @description fetches information on multiple closed orders made by the user
1211
1207
  * @param {string} symbol unified market symbol of the market orders were made in
1212
1208
  * @param {int} [since] the earliest time in ms to fetch orders for
1213
- * @param {int} [limit] the maximum number of orde structures to retrieve (default 500, max 1000)
1209
+ * @param {int} [limit] the maximum number of order structures to retrieve (default 500, max 1000)
1214
1210
  * @param {object} [params] extra parameters specific to the coinsph api endpoint
1215
1211
  * @returns {Order[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1216
1212
  */
1217
- if (symbol === undefined) {
1218
- throw new errors.ArgumentsRequired(this.id + ' fetchClosedOrders() requires a symbol argument');
1219
- }
1213
+ this.checkRequiredSymbol('fetchClosedOrders', symbol);
1220
1214
  await this.loadMarkets();
1221
1215
  const market = this.market(symbol);
1222
1216
  const request = {
@@ -1265,9 +1259,7 @@ class coinsph extends coinsph$1 {
1265
1259
  * @param {object} [params] extra parameters specific to the coinsph api endpoint
1266
1260
  * @returns {object[]} a list of [order structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1267
1261
  */
1268
- if (symbol === undefined) {
1269
- throw new errors.ArgumentsRequired(this.id + ' cancelAllOrders() requires a symbol argument');
1270
- }
1262
+ this.checkRequiredSymbol('cancelAllOrders', symbol);
1271
1263
  await this.loadMarkets();
1272
1264
  let market = undefined;
1273
1265
  const request = {};
@@ -1442,9 +1442,7 @@ class currencycom extends currencycom$1 {
1442
1442
  * @param {object} [params] extra parameters specific to the currencycom api endpoint
1443
1443
  * @returns {object} An [order structure]{@link https://github.com/ccxt/ccxt/wiki/Manual#order-structure}
1444
1444
  */
1445
- if (symbol === undefined) {
1446
- throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
1447
- }
1445
+ this.checkRequiredSymbol('cancelOrder', symbol);
1448
1446
  await this.loadMarkets();
1449
1447
  const market = this.market(symbol);
1450
1448
  const origClientOrderId = this.safeValue(params, 'origClientOrderId');
@@ -1486,9 +1484,7 @@ class currencycom extends currencycom$1 {
1486
1484
  * @param {object} [params] extra parameters specific to the currencycom api endpoint
1487
1485
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
1488
1486
  */
1489
- if (symbol === undefined) {
1490
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
1491
- }
1487
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
1492
1488
  await this.loadMarkets();
1493
1489
  const market = this.market(symbol);
1494
1490
  const request = {
@@ -2914,9 +2914,7 @@ class gate extends gate$1 {
2914
2914
  * @param {object} [params] extra parameters specific to the gate api endpoint
2915
2915
  * @returns {object[]} a list of [funding rate structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-history-structure}
2916
2916
  */
2917
- if (symbol === undefined) {
2918
- throw new errors.ArgumentsRequired(this.id + ' fetchFundingRateHistory() requires a symbol argument');
2919
- }
2917
+ this.checkRequiredSymbol('fetchFundingRateHistory', symbol);
2920
2918
  await this.loadMarkets();
2921
2919
  const market = this.market(symbol);
2922
2920
  if (!market['swap']) {
@@ -4959,9 +4957,7 @@ class gate extends gate$1 {
4959
4957
  * @param {object} [params] extra parameters specific to the gate api endpoint
4960
4958
  * @returns {object} response from the exchange
4961
4959
  */
4962
- if (symbol === undefined) {
4963
- throw new errors.ArgumentsRequired(this.id + ' setLeverage() requires a symbol argument');
4964
- }
4960
+ this.checkRequiredSymbol('setLeverage', symbol);
4965
4961
  // WARNING: THIS WILL INCREASE LIQUIDATION PRICE FOR OPEN ISOLATED LONG POSITIONS
4966
4962
  // AND DECREASE LIQUIDATION PRICE FOR OPEN ISOLATED SHORT POSITIONS
4967
4963
  if ((leverage < 0) || (leverage > 100)) {
@@ -1451,9 +1451,7 @@ class gemini extends gemini$1 {
1451
1451
  * @param {object} [params] extra parameters specific to the gemini api endpoint
1452
1452
  * @returns {Trade[]} a list of [trade structures]{@link https://github.com/ccxt/ccxt/wiki/Manual#trade-structure}
1453
1453
  */
1454
- if (symbol === undefined) {
1455
- throw new errors.ArgumentsRequired(this.id + ' fetchMyTrades() requires a symbol argument');
1456
- }
1454
+ this.checkRequiredSymbol('fetchMyTrades', symbol);
1457
1455
  await this.loadMarkets();
1458
1456
  const market = this.market(symbol);
1459
1457
  const request = {