ccxt 4.2.75 → 4.2.77

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 (78) hide show
  1. package/README.md +5 -5
  2. package/build.sh +2 -2
  3. package/dist/ccxt.browser.js +1004 -616
  4. package/dist/ccxt.browser.min.js +7 -7
  5. package/dist/cjs/ccxt.js +1 -1
  6. package/dist/cjs/src/base/Exchange.js +6 -0
  7. package/dist/cjs/src/binance.js +504 -443
  8. package/dist/cjs/src/bingx.js +13 -15
  9. package/dist/cjs/src/blofin.js +14 -2
  10. package/dist/cjs/src/bybit.js +102 -59
  11. package/dist/cjs/src/coinbase.js +19 -3
  12. package/dist/cjs/src/coinbaseinternational.js +1 -1
  13. package/dist/cjs/src/delta.js +66 -49
  14. package/dist/cjs/src/gate.js +1 -0
  15. package/dist/cjs/src/htx.js +1 -0
  16. package/dist/cjs/src/hyperliquid.js +1 -1
  17. package/dist/cjs/src/kraken.js +8 -8
  18. package/dist/cjs/src/kucoin.js +152 -5
  19. package/dist/cjs/src/pro/ascendex.js +1 -1
  20. package/dist/cjs/src/pro/bitvavo.js +1 -1
  21. package/dist/cjs/src/pro/coinbaseinternational.js +1 -1
  22. package/dist/cjs/src/pro/coinex.js +20 -14
  23. package/dist/cjs/src/pro/deribit.js +1 -1
  24. package/dist/cjs/src/pro/exmo.js +1 -1
  25. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  26. package/dist/cjs/src/pro/phemex.js +1 -1
  27. package/dist/cjs/src/pro/poloniex.js +1 -1
  28. package/dist/cjs/src/pro/probit.js +1 -1
  29. package/dist/cjs/src/pro/woo.js +61 -6
  30. package/dist/cjs/src/woo.js +25 -0
  31. package/js/ccxt.d.ts +1 -1
  32. package/js/ccxt.js +1 -1
  33. package/js/src/abstract/binance.d.ts +1 -0
  34. package/js/src/abstract/binancecoinm.d.ts +1 -0
  35. package/js/src/abstract/binanceus.d.ts +1 -0
  36. package/js/src/abstract/binanceusdm.d.ts +1 -0
  37. package/js/src/abstract/bingx.d.ts +2 -0
  38. package/js/src/abstract/kucoin.d.ts +1 -0
  39. package/js/src/abstract/kucoinfutures.d.ts +1 -0
  40. package/js/src/base/Exchange.d.ts +3 -3
  41. package/js/src/base/Exchange.js +6 -0
  42. package/js/src/base/types.d.ts +1 -1
  43. package/js/src/binance.d.ts +2 -2
  44. package/js/src/binance.js +504 -443
  45. package/js/src/bingx.js +13 -15
  46. package/js/src/bitflyer.d.ts +2 -2
  47. package/js/src/bithumb.d.ts +2 -2
  48. package/js/src/blofin.js +14 -2
  49. package/js/src/bybit.d.ts +1 -1
  50. package/js/src/bybit.js +102 -59
  51. package/js/src/coinbase.js +19 -3
  52. package/js/src/coinbaseinternational.js +1 -1
  53. package/js/src/delta.d.ts +2 -1
  54. package/js/src/delta.js +66 -49
  55. package/js/src/deribit.d.ts +1 -1
  56. package/js/src/gate.d.ts +1 -1
  57. package/js/src/gate.js +1 -0
  58. package/js/src/htx.js +1 -0
  59. package/js/src/hyperliquid.js +1 -1
  60. package/js/src/kraken.js +8 -8
  61. package/js/src/kucoin.d.ts +4 -1
  62. package/js/src/kucoin.js +152 -5
  63. package/js/src/okx.d.ts +1 -1
  64. package/js/src/pro/ascendex.js +1 -1
  65. package/js/src/pro/bitvavo.js +1 -1
  66. package/js/src/pro/coinbaseinternational.js +1 -1
  67. package/js/src/pro/coinex.js +20 -14
  68. package/js/src/pro/deribit.js +1 -1
  69. package/js/src/pro/exmo.js +1 -1
  70. package/js/src/pro/krakenfutures.js +1 -1
  71. package/js/src/pro/phemex.js +1 -1
  72. package/js/src/pro/poloniex.js +1 -1
  73. package/js/src/pro/probit.js +1 -1
  74. package/js/src/pro/woo.d.ts +1 -0
  75. package/js/src/pro/woo.js +61 -6
  76. package/js/src/woo.js +25 -0
  77. package/package.json +1 -1
  78. package/skip-tests.json +1 -2
@@ -11043,6 +11043,12 @@ class Exchange {
11043
11043
  return result;
11044
11044
  }
11045
11045
  checkRequiredCredentials(error = true) {
11046
+ /**
11047
+ * @ignore
11048
+ * @method
11049
+ * @param {boolean} error throw an error that a credential is required if true
11050
+ * @returns {boolean} true if all required credentials have been set, otherwise false or an error is thrown is param error=true
11051
+ */
11046
11052
  const keys = Object.keys(this.requiredCredentials);
11047
11053
  for (let i = 0; i < keys.length; i++) {
11048
11054
  const key = keys[i];
@@ -19218,6 +19224,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19218
19224
  'userTrades': 5,
19219
19225
  'income': 30,
19220
19226
  'commissionRate': 20,
19227
+ 'rateLimit/order': 1,
19221
19228
  'apiTradingStatus': 1,
19222
19229
  'multiAssetsMargin': 30,
19223
19230
  // broker endpoints
@@ -19869,63 +19876,30 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19869
19876
  },
19870
19877
  'exceptions': {
19871
19878
  'spot': {
19872
- // https://binance-docs.github.io/apidocs/spot/en/#error-codes
19873
19879
  'exact': {
19874
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19875
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19876
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19877
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
19880
+ //
19881
+ // 1xxx
19882
+ //
19878
19883
  '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19879
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19880
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
19881
19884
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19882
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19883
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19884
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19885
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
19886
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19887
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19888
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
19889
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19890
19885
  '-1099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19891
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19892
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19893
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19894
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19895
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19896
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19897
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19898
19886
  '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19899
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19900
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19901
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19902
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19903
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19904
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19905
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19906
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19907
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19908
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19909
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19910
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19911
- '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19912
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19913
19887
  '-1131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19914
19888
  '-1134': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19915
19889
  '-1135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19916
19890
  '-1145': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19917
19891
  '-1151': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19892
+ //
19893
+ // 2xxx
19894
+ //
19918
19895
  '-2008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19919
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19920
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
19921
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
19922
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19923
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19924
19896
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
19925
19897
  '-2021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
19926
19898
  '-2022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
19927
19899
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19928
- // 3xxx errors are available only for spot
19900
+ //
19901
+ // 3xxx (these errors are available only for spot atm)
19902
+ //
19929
19903
  '-3000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19930
19904
  '-3001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19931
19905
  '-3002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
@@ -19965,6 +19939,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19965
19939
  '-3044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19966
19940
  '-3045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19967
19941
  '-3999': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
19942
+ //
19943
+ // 4xxx (different from contract markets)
19944
+ //
19945
+ '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19968
19946
  '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19969
19947
  '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19970
19948
  '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -19984,6 +19962,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19984
19962
  '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
19985
19963
  '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19986
19964
  '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19965
+ '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19987
19966
  '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19988
19967
  '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19989
19968
  '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
@@ -20011,7 +19990,108 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20011
19990
  '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20012
19991
  '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20013
19992
  '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19993
+ '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19994
+ '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19995
+ '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19996
+ '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19997
+ '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19998
+ '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19999
+ '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20000
+ '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20001
+ '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20002
+ '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20003
+ '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20004
+ '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20014
20005
  '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20006
+ '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20007
+ '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20008
+ '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20009
+ '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20010
+ '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20011
+ '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20012
+ '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20013
+ '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20014
+ '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20015
+ '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20016
+ '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20017
+ '-4072': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20018
+ '-4073': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20019
+ '-4074': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20020
+ '-4075': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20021
+ '-4076': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20022
+ '-4077': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20023
+ '-4078': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20024
+ '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20025
+ '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20026
+ '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20027
+ '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20028
+ '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20029
+ '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20030
+ '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20031
+ '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20032
+ '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20033
+ '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20034
+ '-4089': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20035
+ '-4091': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20036
+ '-4092': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20037
+ '-4093': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20038
+ '-4094': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20039
+ '-4095': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20040
+ '-4096': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20041
+ '-4097': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20042
+ '-4098': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20043
+ '-4099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20044
+ '-4101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20045
+ '-4102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20046
+ '-4103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20047
+ '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20048
+ '-4105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20049
+ '-4106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20050
+ '-4107': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20051
+ '-4108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20052
+ '-4109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20053
+ '-4110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20054
+ '-4112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20055
+ '-4113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20056
+ '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20057
+ '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20058
+ '-4116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20059
+ '-4117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20060
+ '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20061
+ '-4119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20062
+ '-4120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20063
+ '-4121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20064
+ '-4122': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20065
+ '-4123': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20066
+ '-4124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20067
+ '-4125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20068
+ '-4126': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20069
+ '-4127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20070
+ '-4128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20071
+ '-4129': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20072
+ '-4130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20073
+ '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20074
+ '-4132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20075
+ '-4133': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20076
+ '-4134': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20077
+ '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20078
+ '-4136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20079
+ '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20080
+ '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20081
+ '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20082
+ '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20083
+ '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20084
+ '-4143': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20085
+ '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20086
+ '-4145': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20087
+ '-4146': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20088
+ '-4147': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20089
+ '-4148': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20090
+ '-4149': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20091
+ '-4150': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20092
+ //
20093
+ // 5xxx
20094
+ //
20015
20095
  '-5001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20016
20096
  '-5002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20017
20097
  '-5003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20027,6 +20107,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20027
20107
  '-5013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20028
20108
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20029
20109
  '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20110
+ //
20111
+ // 6xxx
20112
+ //
20030
20113
  '-6001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20031
20114
  '-6003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20032
20115
  '-6004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20045,8 +20128,14 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20045
20128
  '-6018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20046
20129
  '-6019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20047
20130
  '-6020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20131
+ //
20132
+ // 7xxx
20133
+ //
20048
20134
  '-7001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20049
20135
  '-7002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20136
+ //
20137
+ // 1xxxx
20138
+ //
20050
20139
  '-10001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20051
20140
  '-10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20052
20141
  '-10005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
@@ -20102,17 +20191,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20102
20191
  '-18005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20103
20192
  '-18006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20104
20193
  '-18007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20105
- // spot & futures algo (TBD for OPTIONS & PORTFOLIO MARGIN)
20106
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20107
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20108
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20109
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20110
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20111
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20112
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20113
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20114
- '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20115
- // 21xxx - PORTFOLIO MARGIN
20194
+ //
20195
+ // 2xxxx
20196
+ //
20197
+ // 21xxx - PORTFOLIO MARGIN (documented in spot docs)
20116
20198
  '-21001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20117
20199
  '-21002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20118
20200
  '-21003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
@@ -20120,6 +20202,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20120
20202
  '-21005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20121
20203
  '-21006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20122
20204
  '-21007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20205
+ //
20206
+ // misc
20207
+ //
20123
20208
  '-32603': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20124
20209
  '400002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20125
20210
  '100001003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
@@ -20127,62 +20212,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20127
20212
  },
20128
20213
  },
20129
20214
  'linear': {
20130
- // https://binance-docs.github.io/apidocs/futures/en/#error-codes
20131
20215
  'exact': {
20132
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20133
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20134
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20135
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20136
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20216
+ //
20217
+ // 1xxx
20218
+ //
20137
20219
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20138
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20139
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20140
20220
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20141
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20142
20221
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20143
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20144
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20145
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20146
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20147
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20148
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20149
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20150
20222
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20151
20223
  '-1099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20152
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20153
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20154
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20155
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20156
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20157
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20158
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20159
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20160
20224
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20161
20225
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20162
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20163
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20164
20226
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20165
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20166
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20167
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20168
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20169
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20170
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20171
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20172
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20173
20227
  '-1122': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20174
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20175
20228
  '-1126': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20176
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20177
- '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20178
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20179
20229
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20180
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20181
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20230
+ //
20231
+ // 2xxx
20232
+ //
20182
20233
  '-2012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20183
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20184
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20185
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20186
20234
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20187
20235
  '-2017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20188
20236
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20196,65 +20244,13 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20196
20244
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20197
20245
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20198
20246
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20199
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20200
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20201
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20202
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20203
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20204
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20205
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20206
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20207
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20208
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20209
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20210
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20211
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20212
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20213
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20214
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20215
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20216
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20217
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20218
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20219
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20220
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20221
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20222
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20223
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20224
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20225
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20226
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20227
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20228
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20229
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20230
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20231
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20232
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20233
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20234
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20235
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20236
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20237
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20238
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20239
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20240
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20241
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20242
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20243
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20244
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20245
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20246
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20247
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20248
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20249
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20250
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20251
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20247
+ //
20248
+ // 4xxx
20249
+ //
20252
20250
  '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20253
20251
  '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20254
20252
  '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20255
20253
  '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20256
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20257
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20258
20254
  '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20259
20255
  '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20260
20256
  '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20268,25 +20264,15 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20268
20264
  '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20269
20265
  '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20270
20266
  '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20271
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20272
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20273
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20274
20267
  '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20275
- '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20276
20268
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20277
20269
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20278
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20279
20270
  '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20280
20271
  '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20281
20272
  '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20282
20273
  '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20283
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20284
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20285
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20286
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20287
20274
  '-4140': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20288
20275
  '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20289
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20290
20276
  '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20291
20277
  '-4164': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20292
20278
  '-4165': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20295,7 +20281,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20295
20281
  '-4169': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20296
20282
  '-4170': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20297
20283
  '-4171': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20298
- '-4172 ': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20284
+ '-4172': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20299
20285
  '-4183': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20300
20286
  '-4184': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20301
20287
  '-4192': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -20311,6 +20297,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20311
20297
  '-4401': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20312
20298
  '-4402': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20313
20299
  '-4403': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20300
+ //
20301
+ // 5xxx
20302
+ //
20314
20303
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20315
20304
  '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20316
20305
  '-5024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
@@ -20322,73 +20311,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20322
20311
  '-5038': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20323
20312
  '-5039': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20324
20313
  '-5040': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20325
- '-5041': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20326
- //
20327
- // spot & futures algo (TBD for OPTIONS & PORTFOLIO MARGIN)
20328
- //
20329
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20330
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20331
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20332
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20333
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20334
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20335
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20336
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20337
- '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest, // The notional of USD is less or more than the limit.
20314
+ '-5041': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed, // No depth matches this BBO order
20338
20315
  },
20339
20316
  },
20340
20317
  'inverse': {
20341
- // https://binance-docs.github.io/apidocs/delivery/en/#error-codes
20342
20318
  'exact': {
20343
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20344
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20345
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20346
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20347
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20319
+ //
20320
+ // 1xxx
20321
+ //
20348
20322
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20349
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20350
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20351
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20352
20323
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20353
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20354
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20355
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20356
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20357
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20358
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20359
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20360
20324
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20361
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20362
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20363
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20364
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20365
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20366
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20367
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20368
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20369
20325
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20370
20326
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20371
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20372
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20373
20327
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20374
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20375
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20376
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20377
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20378
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20379
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20380
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20381
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20382
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20383
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20384
20328
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20385
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20386
20329
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20387
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20388
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20389
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20390
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20391
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20330
+ //
20331
+ // 2xxx
20332
+ //
20392
20333
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20393
20334
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20394
20335
  '-2019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20401,86 +20342,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20401
20342
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20402
20343
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20403
20344
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20404
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20405
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20406
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20407
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20408
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20409
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20410
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20411
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20412
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20413
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20414
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20415
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20416
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20417
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20418
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20419
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20420
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20421
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20422
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20423
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20424
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20425
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20426
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20427
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20428
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20429
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20430
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20431
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20432
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20433
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20434
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20435
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20436
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20437
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20438
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20439
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20440
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20441
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20442
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20443
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20444
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20445
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20446
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20447
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20448
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20449
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20450
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20451
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20452
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20453
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20454
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20455
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20456
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20457
20345
  //
20458
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20459
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20460
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20461
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20462
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20346
+ // 4xxx
20347
+ //
20463
20348
  '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20464
20349
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20465
20350
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20466
20351
  '-4089': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20467
20352
  '-4090': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20468
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20469
20353
  '-4110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20470
20354
  '-4111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20471
20355
  '-4112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20472
20356
  '-4113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20473
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20474
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20475
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20476
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20477
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20478
20357
  '-4150': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20479
20358
  '-4151': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20480
20359
  '-4152': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20481
20360
  '-4154': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20482
20361
  '-4155': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20483
20362
  '-4178': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20363
+ '-4188': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20484
20364
  '-4192': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20485
20365
  '-4194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20486
20366
  '-4195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -20490,125 +20370,216 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20490
20370
  '-4199': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20491
20371
  '-4200': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20492
20372
  '-4201': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20493
- '-4202': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20494
- '-4188': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20495
- //
20496
- // spot & futures algo
20497
- //
20498
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20499
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20500
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20501
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20502
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20503
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20504
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20505
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20506
- '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest, // The notional of USD is less or more than the limit.
20373
+ '-4202': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected, // Current symbol leverage cannot exceed 20 when using position limit adjustment service.
20507
20374
  },
20508
20375
  },
20509
20376
  'option': {
20510
- // https://binance-docs.github.io/apidocs/voptions/en/#error-codes
20511
20377
  'exact': {
20512
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20513
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20514
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20378
+ //
20379
+ // 1xxx
20380
+ //
20381
+ '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20382
+ '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20383
+ '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20384
+ '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20515
20385
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20516
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20517
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20518
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20519
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20520
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20521
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20522
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20523
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20524
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20525
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20526
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20527
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20528
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20529
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20530
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20531
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20532
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20533
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20534
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20535
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20536
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20537
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20538
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20386
+ '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20387
+ '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20388
+ '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20389
+ '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20390
+ '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20539
20391
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20540
20392
  '-1129': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20541
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20542
20393
  '-1131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20543
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20544
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20545
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20546
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20394
+ //
20395
+ // 2xxx
20396
+ //
20397
+ '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20547
20398
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20548
20399
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20400
+ //
20401
+ // 3xxx
20402
+ //
20549
20403
  '-3029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20550
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20551
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20552
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20553
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20554
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20555
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20556
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20557
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20558
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest, // AMOUNT_MUST_BE_POSITIVE
20404
+ //
20405
+ // 4xxx
20406
+ //
20407
+ // -4001 inherited
20408
+ // -4002 inherited
20409
+ // -4003 inherited
20410
+ // -4004 inherited
20411
+ // -4005 inherited
20412
+ '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20413
+ '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20414
+ '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20415
+ '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20416
+ '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20417
+ '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20418
+ '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20419
+ // -4013 inherited
20420
+ '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20421
+ '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20422
+ '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20423
+ '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20424
+ '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20425
+ '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20426
+ '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20427
+ '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20428
+ '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20429
+ '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20430
+ '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20431
+ '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20432
+ '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20433
+ '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20434
+ '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20435
+ // -4029 inherited
20436
+ // -4030 inherited
20437
+ '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20438
+ '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20439
+ '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20440
+ '-4034': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20441
+ '-4035': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20442
+ '-4036': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20443
+ '-4037': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20444
+ '-4038': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20445
+ '-4039': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20446
+ '-4040': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20447
+ '-4041': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20448
+ '-4042': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20449
+ '-4043': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20450
+ '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20451
+ '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20452
+ '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20453
+ '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20454
+ '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20455
+ '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20456
+ '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20457
+ '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20458
+ '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20459
+ '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20460
+ '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20461
+ // -4055 inherited
20462
+ '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20463
+ '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20464
+ '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20465
+ '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20466
+ '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20467
+ '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20468
+ '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20469
+ '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20470
+ '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20471
+ '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20472
+ '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20473
+ '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20474
+ '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20475
+ '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20476
+ '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20477
+ '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20478
+ '-4072': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20479
+ '-4073': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20480
+ '-4074': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20481
+ '-4075': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20482
+ '-4076': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20483
+ '-4077': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20484
+ '-4078': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20485
+ '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20486
+ '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20487
+ '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20488
+ '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20489
+ '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20490
+ '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20491
+ '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20492
+ '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20493
+ '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20494
+ '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20495
+ '-4089': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20496
+ '-4091': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20497
+ '-4092': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20498
+ '-4093': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20499
+ '-4094': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20500
+ '-4095': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20501
+ '-4096': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20502
+ '-4097': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20503
+ '-4098': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20504
+ '-4099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20505
+ '-4101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20506
+ '-4102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20507
+ '-4103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20508
+ '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20509
+ '-4105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20510
+ '-4106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20511
+ '-4107': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20512
+ '-4108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20513
+ '-4109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20514
+ '-4110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20515
+ '-4112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20516
+ '-4113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20517
+ '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20518
+ '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20519
+ '-4116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20520
+ '-4117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20521
+ '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20522
+ '-4119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20523
+ '-4120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20524
+ '-4121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20525
+ '-4122': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20526
+ '-4123': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20527
+ '-4124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20528
+ '-4125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20529
+ '-4126': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20530
+ '-4127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20531
+ '-4128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20532
+ '-4129': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20533
+ '-4130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20534
+ '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20535
+ '-4132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20536
+ '-4133': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20537
+ '-4134': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20538
+ '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20539
+ '-4136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20540
+ '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20541
+ '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20542
+ '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20543
+ '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20544
+ '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20545
+ '-4143': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20546
+ '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20547
+ '-4145': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20548
+ '-4146': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20549
+ '-4147': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20550
+ '-4148': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20551
+ '-4149': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20552
+ '-4150': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20553
+ //
20554
+ // 2xxxx
20555
+ //
20556
+ '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20557
+ '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20558
+ '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20559
+ '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20560
+ '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20561
+ '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20562
+ '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20563
+ '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20564
+ '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError, // override commons
20559
20565
  },
20560
20566
  },
20561
20567
  'portfolioMargin': {
20562
20568
  'exact': {
20563
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20564
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20565
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20566
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20567
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20569
+ //
20570
+ // 1xxx
20571
+ //
20568
20572
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20569
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20570
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20571
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20572
20573
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20573
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20574
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20575
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20576
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20577
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20578
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20579
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20580
20574
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20581
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20582
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20583
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20584
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20585
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20586
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20587
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20588
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20589
20575
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20590
20576
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20591
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20592
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20593
20577
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20594
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20595
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20596
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20597
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20598
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20599
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20600
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20601
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20602
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20603
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20604
20578
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20605
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20606
20579
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20607
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20608
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20609
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20610
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20611
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20580
+ //
20581
+ // 2xxx
20582
+ //
20612
20583
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20613
20584
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20614
20585
  '-2019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20621,65 +20592,13 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20621
20592
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20622
20593
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20623
20594
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20624
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20625
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20626
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20627
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20628
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20629
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20630
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20631
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20632
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20633
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20634
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20635
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20636
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20637
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20638
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20639
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20640
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20641
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20642
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20643
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20644
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20645
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20646
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20647
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20648
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20649
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20650
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20651
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20652
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20653
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20654
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20655
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20656
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20657
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20658
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20659
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20660
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20661
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20662
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20663
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20664
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20665
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20666
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20667
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20668
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20669
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20670
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20671
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20672
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20673
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20674
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20675
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20676
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20595
+ //
20596
+ // 4xxx
20597
+ //
20677
20598
  '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20678
20599
  '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20679
20600
  '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20680
20601
  '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20681
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20682
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20683
20602
  '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20684
20603
  '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20685
20604
  '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20693,36 +20612,183 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20693
20612
  '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20694
20613
  '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20695
20614
  '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20696
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20697
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20698
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20699
20615
  '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20700
20616
  '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20701
20617
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20702
20618
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20703
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20704
20619
  '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20705
20620
  '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20706
20621
  '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20707
20622
  '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20708
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20709
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20710
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20711
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20712
20623
  '-4140': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20713
20624
  '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20714
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20715
20625
  '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20716
20626
  '-4161': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20717
20627
  '-4164': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20718
20628
  '-4165': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20719
20629
  '-4183': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20720
20630
  '-4184': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20631
+ //
20632
+ // 5xxx
20633
+ //
20721
20634
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20722
- '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable, // Due to the order could not be executed as maker, the Post Only order will be rejected.
20635
+ '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20636
+ //
20637
+ // 2xxxx
20638
+ //
20639
+ '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20640
+ '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20641
+ '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20642
+ '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20643
+ '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20644
+ '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20645
+ '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20646
+ '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20647
+ '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20648
+ // 21xxx - PORTFOLIO MARGIN (documented in spot docs)
20649
+ '-21001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20650
+ '-21002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20651
+ '-21003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
20652
+ '-21004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20653
+ '-21005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20654
+ '-21006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20655
+ '-21007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed, // User failed to repay portfolio margin bankruptcy loan since liquidation was in process
20723
20656
  },
20724
20657
  },
20725
20658
  'exact': {
20659
+ // error codes to cover ALL market types (however, specific market type might have override)
20660
+ //
20661
+ // 1xxx
20662
+ //
20663
+ '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20664
+ '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20665
+ '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20666
+ '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20667
+ '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20668
+ '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20669
+ '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20670
+ '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20671
+ '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20672
+ '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20673
+ '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20674
+ '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20675
+ '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20676
+ '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20677
+ '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20678
+ '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20679
+ '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20680
+ '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20681
+ '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20682
+ '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20683
+ '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20684
+ '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20685
+ '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20686
+ '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20687
+ '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20688
+ '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20689
+ '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20690
+ '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20691
+ '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20692
+ '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20693
+ '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20694
+ '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20695
+ '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20696
+ '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20697
+ '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20698
+ '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20699
+ '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20700
+ //
20701
+ // 2xxx
20702
+ //
20703
+ '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20704
+ '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20705
+ '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20706
+ '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20707
+ '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20708
+ //
20709
+ // 4xxx (common for linear, inverse, pm)
20710
+ //
20711
+ '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20712
+ '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20713
+ '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20714
+ '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20715
+ '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20716
+ '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20717
+ '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20718
+ '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20719
+ '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20720
+ '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20721
+ '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20722
+ '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20723
+ '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20724
+ '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20725
+ '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20726
+ '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20727
+ '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20728
+ '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20729
+ '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20730
+ '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20731
+ '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20732
+ '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20733
+ '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20734
+ '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20735
+ '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20736
+ '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20737
+ '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20738
+ '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20739
+ '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20740
+ '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20741
+ '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20742
+ '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20743
+ '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20744
+ '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20745
+ '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20746
+ '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20747
+ '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20748
+ '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20749
+ '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20750
+ '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20751
+ '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20752
+ '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20753
+ '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20754
+ '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20755
+ '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20756
+ '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20757
+ '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20758
+ '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20759
+ '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20760
+ '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20761
+ '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20762
+ '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20763
+ '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20764
+ '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20765
+ '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20766
+ '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20767
+ '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20768
+ '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20769
+ '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20770
+ '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20771
+ '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20772
+ '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20773
+ '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20774
+ '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20775
+ '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20776
+ //
20777
+ // 2xxxx
20778
+ //
20779
+ // 20xxx - spot & futures algo (TBD for OPTIONS & PORTFOLIO MARGIN)
20780
+ '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20781
+ '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20782
+ '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20783
+ '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20784
+ '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20785
+ '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20786
+ '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20787
+ '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20788
+ '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20789
+ //
20790
+ // strings
20791
+ //
20726
20792
  'System is under maintenance.': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OnMaintenance,
20727
20793
  'System abnormality': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20728
20794
  'You are not authorized to execute this request.': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -22546,7 +22612,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
22546
22612
  const inverse = this.safeBool(market, 'inverse');
22547
22613
  const volumeIndex = inverse ? 7 : 5;
22548
22614
  return [
22549
- this.safeInteger2(ohlcv, 0, 'closeTime'),
22615
+ this.safeInteger2(ohlcv, 0, 'openTime'),
22550
22616
  this.safeNumber2(ohlcv, 1, 'open'),
22551
22617
  this.safeNumber2(ohlcv, 2, 'high'),
22552
22618
  this.safeNumber2(ohlcv, 3, 'low'),
@@ -30074,6 +30140,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
30074
30140
  * @param {int} [limit] default 30, max 500
30075
30141
  * @param {object} [params] exchange specific parameters
30076
30142
  * @param {int} [params.until] the time(ms) of the latest record to retrieve as a unix timestamp
30143
+ * @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)
30077
30144
  * @returns {object} an array of [open interest structure]{@link https://docs.ccxt.com/#/?id=open-interest-structure}
30078
30145
  */
30079
30146
  if (timeframe === '1m') {
@@ -31229,6 +31296,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
31229
31296
  'v1': {
31230
31297
  'public': {
31231
31298
  'get': {
31299
+ 'server/time': 3,
31232
31300
  'common/symbols': 3,
31233
31301
  'market/trades': 3,
31234
31302
  'market/depth': 3,
@@ -31252,6 +31320,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
31252
31320
  'trade/order/cancelReplace': 3,
31253
31321
  'trade/cancelOrders': 3,
31254
31322
  'trade/cancelOpenOrders': 3,
31323
+ 'trade/cancelAllAfter': 1,
31255
31324
  },
31256
31325
  },
31257
31326
  },
@@ -32914,15 +32983,18 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
32914
32983
  request[exchangeClientOrderId] = clientOrderId;
32915
32984
  }
32916
32985
  const timeInForce = this.safeStringUpper(params, 'timeInForce');
32917
- if (timeInForce === 'IOC') {
32986
+ [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
32987
+ if (postOnly || (timeInForce === 'PostOnly')) {
32988
+ request['timeInForce'] = 'PostOnly';
32989
+ }
32990
+ else if (timeInForce === 'IOC') {
32918
32991
  request['timeInForce'] = 'IOC';
32919
32992
  }
32993
+ else if (timeInForce === 'GTC') {
32994
+ request['timeInForce'] = 'GTC';
32995
+ }
32920
32996
  const triggerPrice = this.safeString2(params, 'stopPrice', 'triggerPrice');
32921
32997
  if (isSpot) {
32922
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'POC', params);
32923
- if (postOnly || (timeInForce === 'POC')) {
32924
- request['timeInForce'] = 'POC';
32925
- }
32926
32998
  const cost = this.safeNumber2(params, 'cost', 'quoteOrderQty');
32927
32999
  params = this.omit(params, 'cost');
32928
33000
  if (cost !== undefined) {
@@ -32955,14 +33027,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
32955
33027
  }
32956
33028
  }
32957
33029
  else {
32958
- [postOnly, params] = this.handlePostOnly(isMarketOrder, timeInForce === 'PostOnly', params);
32959
- if (postOnly || (timeInForce === 'PostOnly')) {
32960
- request['timeInForce'] = 'PostOnly';
32961
- }
32962
- else if (timeInForce === 'GTC') {
32963
- request['timeInForce'] = 'GTC';
32964
- }
32965
- else if (timeInForce === 'FOK') {
33030
+ if (timeInForce === 'FOK') {
32966
33031
  request['timeInForce'] = 'FOK';
32967
33032
  }
32968
33033
  const stopLossPrice = this.safeString(params, 'stopLossPrice');
@@ -33090,7 +33155,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
33090
33155
  * @param {object} [params] extra parameters specific to the exchange API endpoint
33091
33156
  * @param {string} [params.clientOrderId] a unique id for the order
33092
33157
  * @param {bool} [params.postOnly] true to place a post only order
33093
- * @param {string} [params.timeInForce] spot supports 'PO' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
33158
+ * @param {string} [params.timeInForce] spot supports 'PO', 'GTC' and 'IOC', swap supports 'PO', 'GTC', 'IOC' and 'FOK'
33094
33159
  * @param {bool} [params.reduceOnly] *swap only* true or false whether the order is reduce only
33095
33160
  * @param {float} [params.triggerPrice] *swap only* triggerPrice at which the attached take profit / stop loss order will be triggered
33096
33161
  * @param {float} [params.stopLossPrice] *swap only* stop loss trigger price
@@ -33575,7 +33640,7 @@ class bingx extends _abstract_bingx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
33575
33640
  'FILLED': 'closed',
33576
33641
  'CANCELED': 'canceled',
33577
33642
  'CANCELLED': 'canceled',
33578
- 'FAILED': 'failed',
33643
+ 'FAILED': 'canceled',
33579
33644
  };
33580
33645
  return this.safeString(statuses, status, status);
33581
33646
  }
@@ -78647,6 +78712,7 @@ class blofin extends _abstract_blofin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
78647
78712
  * @param {string} id order id
78648
78713
  * @param {string} symbol unified symbol of the market the order was made in
78649
78714
  * @param {object} [params] extra parameters specific to the exchange API endpoint
78715
+ * @param {boolean} [params.trigger] True if cancelling a trigger/conditional order/tp sl orders
78650
78716
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
78651
78717
  */
78652
78718
  if (symbol === undefined) {
@@ -78657,14 +78723,25 @@ class blofin extends _abstract_blofin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
78657
78723
  const request = {
78658
78724
  'instId': market['id'],
78659
78725
  };
78726
+ const isTrigger = this.safeBoolN(params, ['stop', 'trigger', 'tpsl'], false);
78660
78727
  const clientOrderId = this.safeString(params, 'clientOrderId');
78661
78728
  if (clientOrderId !== undefined) {
78662
78729
  request['clientOrderId'] = clientOrderId;
78663
78730
  }
78664
78731
  else {
78665
- request['orderId'] = id;
78732
+ if (!isTrigger) {
78733
+ request['orderId'] = id.toString();
78734
+ }
78735
+ else {
78736
+ request['tpslId'] = id.toString();
78737
+ }
78738
+ }
78739
+ const query = this.omit(params, ['orderId', 'clientOrderId', 'stop', 'trigger', 'tpsl']);
78740
+ if (isTrigger) {
78741
+ const tpslResponse = await this.cancelOrders([id], symbol, params);
78742
+ const first = this.safeDict(tpslResponse, 0);
78743
+ return first;
78666
78744
  }
78667
- const query = this.omit(params, ['orderId', 'clientOrderId']);
78668
78745
  const response = await this.privatePostTradeCancelOrder(this.extend(request, query));
78669
78746
  const data = this.safeList(response, 'data', []);
78670
78747
  const order = this.safeDict(data, 0);
@@ -84362,6 +84439,9 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
84362
84439
  'precisionMode': _base_functions_number_js__WEBPACK_IMPORTED_MODULE_2__/* .TICK_SIZE */ .sh,
84363
84440
  'options': {
84364
84441
  'fetchMarkets': ['spot', 'linear', 'inverse', 'option'],
84442
+ 'createOrder': {
84443
+ 'method': 'privatePostV5OrderCreate', // 'privatePostV5PositionTradingStop'
84444
+ },
84365
84445
  'enableUnifiedMargin': undefined,
84366
84446
  'enableUnifiedAccount': undefined,
84367
84447
  'createMarketBuyOrderRequiresPrice': true,
@@ -86049,7 +86129,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
86049
86129
  //
86050
86130
  const id = this.safeStringN(trade, ['execId', 'id', 'tradeId']);
86051
86131
  const marketId = this.safeString(trade, 'symbol');
86052
- let marketType = 'contract';
86132
+ let marketType = ('createType' in trade) ? 'contract' : 'spot';
86053
86133
  if (market !== undefined) {
86054
86134
  marketType = market['type'];
86055
86135
  }
@@ -86930,8 +87010,10 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
86930
87010
  const trailingAmount = this.safeString2(params, 'trailingAmount', 'trailingStop');
86931
87011
  const isTrailingAmountOrder = trailingAmount !== undefined;
86932
87012
  const orderRequest = this.createOrderRequest(symbol, type, side, amount, price, params, enableUnifiedAccount);
87013
+ const options = this.safeValue(this.options, 'createOrder', {});
87014
+ const defaultMethod = this.safeString(options, 'method', 'privatePostV5OrderCreate');
86933
87015
  let response = undefined;
86934
- if (isTrailingAmountOrder) {
87016
+ if (isTrailingAmountOrder || (defaultMethod === 'privatePostV5PositionTradingStop')) {
86935
87017
  response = await this.privatePostV5PositionTradingStop(orderRequest);
86936
87018
  }
86937
87019
  else {
@@ -86959,10 +87041,12 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
86959
87041
  if ((price === undefined) && (lowerCaseType === 'limit')) {
86960
87042
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ArgumentsRequired(this.id + ' createOrder requires a price argument for limit orders');
86961
87043
  }
87044
+ let defaultMethod = undefined;
87045
+ [defaultMethod, params] = this.handleOptionAndParams(params, 'createOrder', 'method', 'privatePostV5OrderCreate');
86962
87046
  const request = {
86963
87047
  'symbol': market['id'],
86964
- 'side': this.capitalize(side),
86965
- 'orderType': this.capitalize(lowerCaseType), // limit or market
87048
+ // 'side': this.capitalize (side),
87049
+ // 'orderType': this.capitalize (lowerCaseType), // limit or market
86966
87050
  // 'timeInForce': 'GTC', // IOC, FOK, PostOnly
86967
87051
  // 'takeProfit': 123.45, // take profit price, only take effect upon opening the position
86968
87052
  // 'stopLoss': 123.45, // stop loss price, only take effect upon opening the position
@@ -86984,6 +87068,87 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
86984
87068
  // Valid for option only.
86985
87069
  // 'orderIv': '0', // Implied volatility; parameters are passed according to the real value; for example, for 10%, 0.1 is passed
86986
87070
  };
87071
+ let triggerPrice = this.safeValue2(params, 'triggerPrice', 'stopPrice');
87072
+ const stopLossTriggerPrice = this.safeValue(params, 'stopLossPrice');
87073
+ const takeProfitTriggerPrice = this.safeValue(params, 'takeProfitPrice');
87074
+ const stopLoss = this.safeValue(params, 'stopLoss');
87075
+ const takeProfit = this.safeValue(params, 'takeProfit');
87076
+ const trailingTriggerPrice = this.safeString2(params, 'trailingTriggerPrice', 'activePrice', this.numberToString(price));
87077
+ const trailingAmount = this.safeString2(params, 'trailingAmount', 'trailingStop');
87078
+ const isTrailingAmountOrder = trailingAmount !== undefined;
87079
+ const isTriggerOrder = triggerPrice !== undefined;
87080
+ const isStopLossTriggerOrder = stopLossTriggerPrice !== undefined;
87081
+ const isTakeProfitTriggerOrder = takeProfitTriggerPrice !== undefined;
87082
+ const isStopLoss = stopLoss !== undefined;
87083
+ const isTakeProfit = takeProfit !== undefined;
87084
+ const isMarket = lowerCaseType === 'market';
87085
+ const isLimit = lowerCaseType === 'limit';
87086
+ const isBuy = side === 'buy';
87087
+ const isAlternativeEndpoint = defaultMethod === 'privatePostV5PositionTradingStop';
87088
+ if (isTrailingAmountOrder || isAlternativeEndpoint) {
87089
+ if (isStopLoss || isTakeProfit || isTriggerOrder || market['spot']) {
87090
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder(this.id + ' the API endpoint used only supports contract trailingAmount, stopLossPrice and takeProfitPrice orders');
87091
+ }
87092
+ if (isStopLossTriggerOrder || isTakeProfitTriggerOrder) {
87093
+ if (isStopLossTriggerOrder) {
87094
+ request['stopLoss'] = this.priceToPrecision(symbol, stopLossTriggerPrice);
87095
+ if (isLimit) {
87096
+ request['tpslMode'] = 'Partial';
87097
+ request['slOrderType'] = 'Limit';
87098
+ request['slLimitPrice'] = this.priceToPrecision(symbol, price);
87099
+ request['slSize'] = this.amountToPrecision(symbol, amount);
87100
+ }
87101
+ }
87102
+ else if (isTakeProfitTriggerOrder) {
87103
+ request['takeProfit'] = this.priceToPrecision(symbol, takeProfitTriggerPrice);
87104
+ if (isLimit) {
87105
+ request['tpslMode'] = 'Partial';
87106
+ request['tpOrderType'] = 'Limit';
87107
+ request['tpLimitPrice'] = this.priceToPrecision(symbol, price);
87108
+ request['tpSize'] = this.amountToPrecision(symbol, amount);
87109
+ }
87110
+ }
87111
+ }
87112
+ }
87113
+ else {
87114
+ request['side'] = this.capitalize(side);
87115
+ request['orderType'] = this.capitalize(lowerCaseType);
87116
+ const timeInForce = this.safeStringLower(params, 'timeInForce'); // this is same as exchange specific param
87117
+ let postOnly = undefined;
87118
+ [postOnly, params] = this.handlePostOnly(isMarket, timeInForce === 'postonly', params);
87119
+ if (postOnly) {
87120
+ request['timeInForce'] = 'PostOnly';
87121
+ }
87122
+ else if (timeInForce === 'gtc') {
87123
+ request['timeInForce'] = 'GTC';
87124
+ }
87125
+ else if (timeInForce === 'fok') {
87126
+ request['timeInForce'] = 'FOK';
87127
+ }
87128
+ else if (timeInForce === 'ioc') {
87129
+ request['timeInForce'] = 'IOC';
87130
+ }
87131
+ if (market['spot']) {
87132
+ // only works for spot market
87133
+ if (triggerPrice !== undefined) {
87134
+ request['orderFilter'] = 'StopOrder';
87135
+ }
87136
+ else if (stopLossTriggerPrice !== undefined || takeProfitTriggerPrice !== undefined || isStopLoss || isTakeProfit) {
87137
+ request['orderFilter'] = 'tpslOrder';
87138
+ }
87139
+ }
87140
+ const clientOrderId = this.safeString(params, 'clientOrderId');
87141
+ if (clientOrderId !== undefined) {
87142
+ request['orderLinkId'] = clientOrderId;
87143
+ }
87144
+ else if (market['option']) {
87145
+ // mandatory field for options
87146
+ request['orderLinkId'] = this.uuid16();
87147
+ }
87148
+ if (isLimit) {
87149
+ request['price'] = this.priceToPrecision(symbol, price);
87150
+ }
87151
+ }
86987
87152
  if (market['spot']) {
86988
87153
  request['category'] = 'spot';
86989
87154
  }
@@ -87043,48 +87208,17 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
87043
87208
  }
87044
87209
  }
87045
87210
  else {
87046
- request['qty'] = this.amountToPrecision(symbol, amount);
87047
- }
87048
- const isMarket = lowerCaseType === 'market';
87049
- const isLimit = lowerCaseType === 'limit';
87050
- if (isLimit) {
87051
- request['price'] = this.priceToPrecision(symbol, price);
87052
- }
87053
- const timeInForce = this.safeStringLower(params, 'timeInForce'); // this is same as exchange specific param
87054
- let postOnly = undefined;
87055
- [postOnly, params] = this.handlePostOnly(isMarket, timeInForce === 'postonly', params);
87056
- if (postOnly) {
87057
- request['timeInForce'] = 'PostOnly';
87058
- }
87059
- else if (timeInForce === 'gtc') {
87060
- request['timeInForce'] = 'GTC';
87061
- }
87062
- else if (timeInForce === 'fok') {
87063
- request['timeInForce'] = 'FOK';
87064
- }
87065
- else if (timeInForce === 'ioc') {
87066
- request['timeInForce'] = 'IOC';
87211
+ if (!isTrailingAmountOrder && !isAlternativeEndpoint) {
87212
+ request['qty'] = this.amountToPrecision(symbol, amount);
87213
+ }
87067
87214
  }
87068
- let triggerPrice = this.safeValue2(params, 'triggerPrice', 'stopPrice');
87069
- const stopLossTriggerPrice = this.safeValue(params, 'stopLossPrice');
87070
- const takeProfitTriggerPrice = this.safeValue(params, 'takeProfitPrice');
87071
- const stopLoss = this.safeValue(params, 'stopLoss');
87072
- const takeProfit = this.safeValue(params, 'takeProfit');
87073
- const trailingTriggerPrice = this.safeString2(params, 'trailingTriggerPrice', 'activePrice', this.numberToString(price));
87074
- const trailingAmount = this.safeString2(params, 'trailingAmount', 'trailingStop');
87075
- const isTrailingAmountOrder = trailingAmount !== undefined;
87076
- const isStopLossTriggerOrder = stopLossTriggerPrice !== undefined;
87077
- const isTakeProfitTriggerOrder = takeProfitTriggerPrice !== undefined;
87078
- const isStopLoss = stopLoss !== undefined;
87079
- const isTakeProfit = takeProfit !== undefined;
87080
- const isBuy = side === 'buy';
87081
87215
  if (isTrailingAmountOrder) {
87082
87216
  if (trailingTriggerPrice !== undefined) {
87083
87217
  request['activePrice'] = this.priceToPrecision(symbol, trailingTriggerPrice);
87084
87218
  }
87085
87219
  request['trailingStop'] = trailingAmount;
87086
87220
  }
87087
- else if (triggerPrice !== undefined) {
87221
+ else if (isTriggerOrder && !isAlternativeEndpoint) {
87088
87222
  const triggerDirection = this.safeString(params, 'triggerDirection');
87089
87223
  params = this.omit(params, ['triggerPrice', 'stopPrice', 'triggerDirection']);
87090
87224
  if (market['spot']) {
@@ -87101,7 +87235,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
87101
87235
  }
87102
87236
  request['triggerPrice'] = this.priceToPrecision(symbol, triggerPrice);
87103
87237
  }
87104
- else if (isStopLossTriggerOrder || isTakeProfitTriggerOrder) {
87238
+ else if ((isStopLossTriggerOrder || isTakeProfitTriggerOrder) && !isAlternativeEndpoint) {
87105
87239
  if (isBuy) {
87106
87240
  request['triggerDirection'] = isStopLossTriggerOrder ? 1 : 2;
87107
87241
  }
@@ -87112,7 +87246,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
87112
87246
  request['triggerPrice'] = this.priceToPrecision(symbol, triggerPrice);
87113
87247
  request['reduceOnly'] = true;
87114
87248
  }
87115
- if (isStopLoss || isTakeProfit) {
87249
+ if ((isStopLoss || isTakeProfit) && !isAlternativeEndpoint) {
87116
87250
  if (isStopLoss) {
87117
87251
  const slTriggerPrice = this.safeValue2(stopLoss, 'triggerPrice', 'stopPrice', stopLoss);
87118
87252
  request['stopLoss'] = this.priceToPrecision(symbol, slTriggerPrice);
@@ -87134,23 +87268,6 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
87134
87268
  }
87135
87269
  }
87136
87270
  }
87137
- if (market['spot']) {
87138
- // only works for spot market
87139
- if (triggerPrice !== undefined) {
87140
- request['orderFilter'] = 'StopOrder';
87141
- }
87142
- else if (stopLossTriggerPrice !== undefined || takeProfitTriggerPrice !== undefined || isStopLoss || isTakeProfit) {
87143
- request['orderFilter'] = 'tpslOrder';
87144
- }
87145
- }
87146
- const clientOrderId = this.safeString(params, 'clientOrderId');
87147
- if (clientOrderId !== undefined) {
87148
- request['orderLinkId'] = clientOrderId;
87149
- }
87150
- else if (market['option']) {
87151
- // mandatory field for options
87152
- request['orderLinkId'] = this.uuid16();
87153
- }
87154
87271
  params = this.omit(params, ['stopPrice', 'timeInForce', 'stopLossPrice', 'takeProfitPrice', 'postOnly', 'clientOrderId', 'triggerPrice', 'stopLoss', 'takeProfit', 'trailingAmount', 'trailingTriggerPrice']);
87155
87272
  return this.extend(request, params);
87156
87273
  }
@@ -88613,7 +88730,9 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
88613
88730
  }
88614
88731
  const [enableUnifiedMargin, enableUnifiedAccount] = await this.isUnifiedEnabled();
88615
88732
  const isUnifiedAccount = (enableUnifiedMargin || enableUnifiedAccount);
88616
- let request = {};
88733
+ let request = {
88734
+ 'execType': 'Trade',
88735
+ };
88617
88736
  let market = undefined;
88618
88737
  let isUsdcSettled = false;
88619
88738
  if (symbol !== undefined) {
@@ -90188,6 +90307,7 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
90188
90307
  * @param {int} [since] Not used by Bybit
90189
90308
  * @param {int} [limit] The number of open interest structures to return. Max 200, default 50
90190
90309
  * @param {object} [params] Exchange specific parameters
90310
+ * @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)
90191
90311
  * @returns An array of open interest structures
90192
90312
  */
90193
90313
  if (timeframe === '1m') {
@@ -94658,7 +94778,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94658
94778
  * @returns {object} an associative dictionary of currencies
94659
94779
  */
94660
94780
  const response = await this.fetchCurrenciesFromCache(params);
94661
- const currencies = this.safeDict(response, 'currencies', {});
94781
+ const currencies = this.safeList(response, 'currencies', []);
94662
94782
  //
94663
94783
  // fiat
94664
94784
  //
@@ -95210,9 +95330,15 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95210
95330
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
95211
95331
  * @param {int} [limit] max number of ledger entrys to return, default is undefined
95212
95332
  * @param {object} [params] extra parameters specific to the exchange API endpoint
95333
+ * @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)
95213
95334
  * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
95214
95335
  */
95215
95336
  await this.loadMarkets();
95337
+ let paginate = false;
95338
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchLedger', 'paginate');
95339
+ if (paginate) {
95340
+ return await this.fetchPaginatedCallCursor('fetchLedger', code, since, limit, params, 'next_starting_after', 'starting_after', undefined, 100);
95341
+ }
95216
95342
  let currency = undefined;
95217
95343
  if (code !== undefined) {
95218
95344
  currency = this.currency(code);
@@ -95223,7 +95349,17 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95223
95349
  // the value for the next page can be obtained from the result of the previous call in the 'pagination' field
95224
95350
  // eg: instance.last_json_response.pagination.next_starting_after
95225
95351
  const response = await this.v2PrivateGetAccountsAccountIdTransactions(this.extend(request, params));
95226
- return this.parseLedger(response['data'], currency, since, limit);
95352
+ const ledger = this.parseLedger(response['data'], currency, since, limit);
95353
+ const length = ledger.length;
95354
+ const lastIndex = length - 1;
95355
+ const last = this.safeDict(ledger, lastIndex);
95356
+ const pagination = this.safeDict(response, 'pagination', {});
95357
+ const cursor = this.safeString(pagination, 'next_starting_after');
95358
+ if ((cursor !== undefined) && (cursor !== '')) {
95359
+ last['next_starting_after'] = cursor;
95360
+ ledger[lastIndex] = last;
95361
+ }
95362
+ return ledger;
95227
95363
  }
95228
95364
  parseLedgerEntryStatus(status) {
95229
95365
  const types = {
@@ -96202,7 +96338,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96202
96338
  let paginate = false;
96203
96339
  [paginate, params] = this.handleOptionAndParams(params, 'fetchOrders', 'paginate');
96204
96340
  if (paginate) {
96205
- return await this.fetchPaginatedCallCursor('fetchOrders', symbol, since, limit, params, 'cursor', 'cursor', undefined, 100);
96341
+ return await this.fetchPaginatedCallCursor('fetchOrders', symbol, since, limit, params, 'cursor', 'cursor', undefined, 1000);
96206
96342
  }
96207
96343
  let market = undefined;
96208
96344
  if (symbol !== undefined) {
@@ -97222,7 +97358,7 @@ class coinbaseinternational extends _abstract_coinbaseinternational_js__WEBPACK_
97222
97358
  describe() {
97223
97359
  return this.deepExtend(super.describe(), {
97224
97360
  'id': 'coinbaseinternational',
97225
- 'name': 'coinbase International',
97361
+ 'name': 'Coinbase International',
97226
97362
  'countries': ['US'],
97227
97363
  'certified': true,
97228
97364
  'pro': true,
@@ -122040,7 +122176,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122040
122176
  */
122041
122177
  const response = await this.publicGetSettings(params);
122042
122178
  // full response sample under `fetchStatus`
122043
- const result = this.safeValue(response, 'result', {});
122179
+ const result = this.safeDict(response, 'result', {});
122044
122180
  return this.safeIntegerProduct(result, 'server_time', 0.001);
122045
122181
  }
122046
122182
  async fetchStatus(params = {}) {
@@ -122105,7 +122241,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122105
122241
  // "success": true
122106
122242
  // }
122107
122243
  //
122108
- const result = this.safeValue(response, 'result', {});
122244
+ const result = this.safeDict(response, 'result', {});
122109
122245
  const underMaintenance = this.safeString(result, 'under_maintenance');
122110
122246
  const status = (underMaintenance === 'true') ? 'maintenance' : 'ok';
122111
122247
  const updated = this.safeIntegerProduct(result, 'server_time', 0.001, this.milliseconds());
@@ -122157,7 +122293,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122157
122293
  // "success":true
122158
122294
  // }
122159
122295
  //
122160
- const currencies = this.safeValue(response, 'result', []);
122296
+ const currencies = this.safeList(response, 'result', []);
122161
122297
  const result = {};
122162
122298
  for (let i = 0; i < currencies.length; i++) {
122163
122299
  const currency = currencies[i];
@@ -122194,16 +122330,33 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122194
122330
  }
122195
122331
  async loadMarkets(reload = false, params = {}) {
122196
122332
  const markets = await super.loadMarkets(reload, params);
122197
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId');
122333
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId');
122198
122334
  if ((currenciesByNumericId === undefined) || reload) {
122199
- this.options['currenciesByNumericId'] = this.indexBy(this.currencies, 'numericId');
122335
+ this.options['currenciesByNumericId'] = this.indexByStringifiedNumericId(this.currencies);
122200
122336
  }
122201
- const marketsByNumericId = this.safeValue(this.options, 'marketsByNumericId');
122337
+ const marketsByNumericId = this.safeDict(this.options, 'marketsByNumericId');
122202
122338
  if ((marketsByNumericId === undefined) || reload) {
122203
- this.options['marketsByNumericId'] = this.indexBy(this.markets, 'numericId');
122339
+ this.options['marketsByNumericId'] = this.indexByStringifiedNumericId(this.markets);
122204
122340
  }
122205
122341
  return markets;
122206
122342
  }
122343
+ indexByStringifiedNumericId(input) {
122344
+ const result = {};
122345
+ if (input === undefined) {
122346
+ return undefined;
122347
+ }
122348
+ const keys = Object.keys(input);
122349
+ for (let i = 0; i < keys.length; i++) {
122350
+ const key = keys[i];
122351
+ const item = input[key];
122352
+ const numericIdString = this.safeString(item, 'numericId');
122353
+ if (numericIdString === undefined) {
122354
+ continue;
122355
+ }
122356
+ result[numericIdString] = item;
122357
+ }
122358
+ return result;
122359
+ }
122207
122360
  async fetchMarkets(params = {}) {
122208
122361
  /**
122209
122362
  * @method
@@ -122392,7 +122545,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122392
122545
  // "success":true
122393
122546
  // }
122394
122547
  //
122395
- const markets = this.safeValue(response, 'result', []);
122548
+ const markets = this.safeList(response, 'result', []);
122396
122549
  const result = [];
122397
122550
  for (let i = 0; i < markets.length; i++) {
122398
122551
  const market = markets[i];
@@ -122401,10 +122554,10 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122401
122554
  continue;
122402
122555
  }
122403
122556
  // const settlingAsset = this.safeValue (market, 'settling_asset', {});
122404
- const quotingAsset = this.safeValue(market, 'quoting_asset', {});
122405
- const underlyingAsset = this.safeValue(market, 'underlying_asset', {});
122406
- const settlingAsset = this.safeValue(market, 'settling_asset');
122407
- const productSpecs = this.safeValue(market, 'product_specs', {});
122557
+ const quotingAsset = this.safeDict(market, 'quoting_asset', {});
122558
+ const underlyingAsset = this.safeDict(market, 'underlying_asset', {});
122559
+ const settlingAsset = this.safeDict(market, 'settling_asset');
122560
+ const productSpecs = this.safeDict(market, 'product_specs', {});
122408
122561
  const baseId = this.safeString(underlyingAsset, 'symbol');
122409
122562
  const quoteId = this.safeString(quotingAsset, 'symbol');
122410
122563
  const settleId = this.safeString(settlingAsset, 'symbol');
@@ -122637,7 +122790,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122637
122790
  const marketId = this.safeString(ticker, 'symbol');
122638
122791
  const symbol = this.safeSymbol(marketId, market);
122639
122792
  const last = this.safeString(ticker, 'close');
122640
- const quotes = this.safeValue(ticker, 'quotes', {});
122793
+ const quotes = this.safeDict(ticker, 'quotes', {});
122641
122794
  return this.safeTicker({
122642
122795
  'symbol': symbol,
122643
122796
  'timestamp': timestamp,
@@ -122801,7 +122954,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122801
122954
  // "success": true
122802
122955
  // }
122803
122956
  //
122804
- const result = this.safeValue(response, 'result', {});
122957
+ const result = this.safeDict(response, 'result', {});
122805
122958
  return this.parseTicker(result, market);
122806
122959
  }
122807
122960
  async fetchTickers(symbols = undefined, params = {}) {
@@ -122947,7 +123100,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122947
123100
  // "success":true
122948
123101
  // }
122949
123102
  //
122950
- const tickers = this.safeValue(response, 'result', []);
123103
+ const tickers = this.safeList(response, 'result', []);
122951
123104
  const result = {};
122952
123105
  for (let i = 0; i < tickers.length; i++) {
122953
123106
  const ticker = this.parseTicker(tickers[i]);
@@ -122994,7 +123147,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122994
123147
  // "success":true
122995
123148
  // }
122996
123149
  //
122997
- const result = this.safeValue(response, 'result', {});
123150
+ const result = this.safeDict(response, 'result', {});
122998
123151
  return this.parseOrderBook(result, market['symbol'], undefined, 'buy', 'sell', 'price', 'size');
122999
123152
  }
123000
123153
  parseTrade(trade, market = undefined) {
@@ -123051,7 +123204,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123051
123204
  timestamp = this.safeIntegerProduct(trade, 'timestamp', 0.001, timestamp);
123052
123205
  const priceString = this.safeString(trade, 'price');
123053
123206
  const amountString = this.safeString(trade, 'size');
123054
- const product = this.safeValue(trade, 'product', {});
123207
+ const product = this.safeDict(trade, 'product', {});
123055
123208
  const marketId = this.safeString(product, 'symbol');
123056
123209
  const symbol = this.safeSymbol(marketId, market);
123057
123210
  const sellerRole = this.safeString(trade, 'seller_role');
@@ -123065,7 +123218,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123065
123218
  }
123066
123219
  }
123067
123220
  const takerOrMaker = this.safeString(trade, 'role');
123068
- const metaData = this.safeValue(trade, 'meta_data', {});
123221
+ const metaData = this.safeDict(trade, 'meta_data', {});
123069
123222
  let type = this.safeString(metaData, 'order_type');
123070
123223
  if (type !== undefined) {
123071
123224
  type = type.replace('_order', '');
@@ -123073,7 +123226,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123073
123226
  const feeCostString = this.safeString(trade, 'commission');
123074
123227
  let fee = undefined;
123075
123228
  if (feeCostString !== undefined) {
123076
- const settlingAsset = this.safeValue(product, 'settling_asset', {});
123229
+ const settlingAsset = this.safeDict(product, 'settling_asset', {});
123077
123230
  const feeCurrencyId = this.safeString(settlingAsset, 'symbol');
123078
123231
  const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
123079
123232
  fee = {
@@ -123130,7 +123283,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123130
123283
  // "success":true
123131
123284
  // }
123132
123285
  //
123133
- const result = this.safeValue(response, 'result', []);
123286
+ const result = this.safeList(response, 'result', []);
123134
123287
  return this.parseTrades(result, market, since, limit);
123135
123288
  }
123136
123289
  parseOHLCV(ohlcv, market = undefined) {
@@ -123205,17 +123358,17 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123205
123358
  // ]
123206
123359
  // }
123207
123360
  //
123208
- const result = this.safeValue(response, 'result', []);
123361
+ const result = this.safeList(response, 'result', []);
123209
123362
  return this.parseOHLCVs(result, market, timeframe, since, limit);
123210
123363
  }
123211
123364
  parseBalance(response) {
123212
- const balances = this.safeValue(response, 'result', []);
123365
+ const balances = this.safeList(response, 'result', []);
123213
123366
  const result = { 'info': response };
123214
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId', {});
123367
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId', {});
123215
123368
  for (let i = 0; i < balances.length; i++) {
123216
123369
  const balance = balances[i];
123217
123370
  const currencyId = this.safeString(balance, 'asset_id');
123218
- const currency = this.safeValue(currenciesByNumericId, currencyId);
123371
+ const currency = this.safeDict(currenciesByNumericId, currencyId);
123219
123372
  const code = (currency === undefined) ? currencyId : currency['code'];
123220
123373
  const account = this.account();
123221
123374
  account['total'] = this.safeString(balance, 'balance');
@@ -123284,7 +123437,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123284
123437
  // "success":true
123285
123438
  // }
123286
123439
  //
123287
- const result = this.safeValue(response, 'result', {});
123440
+ const result = this.safeDict(response, 'result', {});
123288
123441
  return this.parsePosition(result, market);
123289
123442
  }
123290
123443
  async fetchPositions(symbols = undefined, params = {}) {
@@ -123320,7 +123473,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123320
123473
  // ]
123321
123474
  // }
123322
123475
  //
123323
- const result = this.safeValue(response, 'result', []);
123476
+ const result = this.safeList(response, 'result', []);
123324
123477
  return this.parsePositions(result, symbols);
123325
123478
  }
123326
123479
  parsePosition(position, market = undefined) {
@@ -123442,7 +123595,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123442
123595
  const clientOrderId = this.safeString(order, 'client_order_id');
123443
123596
  const timestamp = this.parse8601(this.safeString(order, 'created_at'));
123444
123597
  const marketId = this.safeString(order, 'product_id');
123445
- const marketsByNumericId = this.safeValue(this.options, 'marketsByNumericId', {});
123598
+ const marketsByNumericId = this.safeDict(this.options, 'marketsByNumericId', {});
123446
123599
  market = this.safeValue(marketsByNumericId, marketId, market);
123447
123600
  const symbol = (market === undefined) ? marketId : market['symbol'];
123448
123601
  const status = this.parseOrderStatus(this.safeString(order, 'state'));
@@ -123458,7 +123611,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123458
123611
  if (feeCostString !== undefined) {
123459
123612
  let feeCurrencyCode = undefined;
123460
123613
  if (market !== undefined) {
123461
- const settlingAsset = this.safeValue(market['info'], 'settling_asset', {});
123614
+ const settlingAsset = this.safeDict(market['info'], 'settling_asset', {});
123462
123615
  const feeCurrencyId = this.safeString(settlingAsset, 'symbol');
123463
123616
  feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
123464
123617
  }
@@ -123525,7 +123678,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123525
123678
  if (clientOrderId !== undefined) {
123526
123679
  request['client_order_id'] = clientOrderId;
123527
123680
  }
123528
- const reduceOnly = this.safeValue(params, 'reduceOnly');
123681
+ const reduceOnly = this.safeBool(params, 'reduceOnly');
123529
123682
  if (reduceOnly) {
123530
123683
  request['reduce_only'] = reduceOnly;
123531
123684
  params = this.omit(params, 'reduceOnly');
@@ -123567,7 +123720,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123567
123720
  // "success":true
123568
123721
  // }
123569
123722
  //
123570
- const result = this.safeValue(response, 'result', {});
123723
+ const result = this.safeDict(response, 'result', {});
123571
123724
  return this.parseOrder(result, market);
123572
123725
  }
123573
123726
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
@@ -123617,7 +123770,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123617
123770
  // }
123618
123771
  // }
123619
123772
  //
123620
- const result = this.safeValue(response, 'result');
123773
+ const result = this.safeDict(response, 'result');
123621
123774
  return this.parseOrder(result, market);
123622
123775
  }
123623
123776
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -123677,7 +123830,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123677
123830
  // "success":true
123678
123831
  // }
123679
123832
  //
123680
- const result = this.safeValue(response, 'result');
123833
+ const result = this.safeDict(response, 'result');
123681
123834
  return this.parseOrder(result, market);
123682
123835
  }
123683
123836
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -123790,7 +123943,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123790
123943
  // }
123791
123944
  // }
123792
123945
  //
123793
- const result = this.safeValue(response, 'result', []);
123946
+ const result = this.safeList(response, 'result', []);
123794
123947
  return this.parseOrders(result, market, since, limit);
123795
123948
  }
123796
123949
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -123872,7 +124025,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123872
124025
  // "success":true
123873
124026
  // }
123874
124027
  //
123875
- const result = this.safeValue(response, 'result', []);
124028
+ const result = this.safeList(response, 'result', []);
123876
124029
  return this.parseTrades(result, market, since, limit);
123877
124030
  }
123878
124031
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -123925,7 +124078,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123925
124078
  // "success":true
123926
124079
  // }
123927
124080
  //
123928
- const result = this.safeValue(response, 'result', []);
124081
+ const result = this.safeList(response, 'result', []);
123929
124082
  return this.parseLedger(result, currency, since, limit);
123930
124083
  }
123931
124084
  parseLedgerEntryType(type) {
@@ -123962,7 +124115,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123962
124115
  const id = this.safeString(item, 'uuid');
123963
124116
  let direction = undefined;
123964
124117
  const account = undefined;
123965
- const metaData = this.safeValue(item, 'meta_data', {});
124118
+ const metaData = this.safeDict(item, 'meta_data', {});
123966
124119
  const referenceId = this.safeString(metaData, 'transaction_id');
123967
124120
  const referenceAccount = undefined;
123968
124121
  let type = this.safeString(item, 'transaction_type');
@@ -123973,8 +124126,8 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123973
124126
  direction = 'out';
123974
124127
  }
123975
124128
  type = this.parseLedgerEntryType(type);
123976
- const currencyId = this.safeInteger(item, 'asset_id');
123977
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId');
124129
+ const currencyId = this.safeString(item, 'asset_id');
124130
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId');
123978
124131
  currency = this.safeValue(currenciesByNumericId, currencyId, currency);
123979
124132
  const code = (currency === undefined) ? undefined : currency['code'];
123980
124133
  const amount = this.safeString(item, 'amount');
@@ -124038,7 +124191,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124038
124191
  // }
124039
124192
  // }
124040
124193
  //
124041
- const result = this.safeValue(response, 'result', {});
124194
+ const result = this.safeDict(response, 'result', {});
124042
124195
  return this.parseDepositAddress(result, currency);
124043
124196
  }
124044
124197
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -124132,7 +124285,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124132
124285
  // "success": true
124133
124286
  // }
124134
124287
  //
124135
- const result = this.safeValue(response, 'result', {});
124288
+ const result = this.safeDict(response, 'result', {});
124136
124289
  return this.parseFundingRate(result, market);
124137
124290
  }
124138
124291
  async fetchFundingRates(symbols = undefined, params = {}) {
@@ -124198,7 +124351,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124198
124351
  // "success":true
124199
124352
  // }
124200
124353
  //
124201
- const rates = this.safeValue(response, 'result', []);
124354
+ const rates = this.safeList(response, 'result', []);
124202
124355
  const result = this.parseFundingRates(rates);
124203
124356
  return this.filterByArray(result, 'symbol', symbols);
124204
124357
  }
@@ -124330,7 +124483,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124330
124483
  // "success": true
124331
124484
  // }
124332
124485
  //
124333
- const result = this.safeValue(response, 'result', {});
124486
+ const result = this.safeDict(response, 'result', {});
124334
124487
  return this.parseMarginModification(result, market);
124335
124488
  }
124336
124489
  parseMarginModification(data, market = undefined) {
@@ -124437,7 +124590,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124437
124590
  // "success": true
124438
124591
  // }
124439
124592
  //
124440
- const result = this.safeValue(response, 'result', {});
124593
+ const result = this.safeDict(response, 'result', {});
124441
124594
  return this.parseOpenInterest(result, market);
124442
124595
  }
124443
124596
  parseOpenInterest(interest, market = undefined) {
@@ -124661,7 +124814,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124661
124814
  // "success": true
124662
124815
  // }
124663
124816
  //
124664
- const result = this.safeValue(response, 'result', []);
124817
+ const result = this.safeList(response, 'result', []);
124665
124818
  const settlements = this.parseSettlements(result, market);
124666
124819
  const sorted = this.sortBy(settlements, 'timestamp');
124667
124820
  return this.filterBySymbolSinceLimit(sorted, market['symbol'], since, limit);
@@ -124805,7 +124958,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124805
124958
  // "success": true
124806
124959
  // }
124807
124960
  //
124808
- const result = this.safeValue(response, 'result', {});
124961
+ const result = this.safeDict(response, 'result', {});
124809
124962
  return this.parseGreeks(result, market);
124810
124963
  }
124811
124964
  parseGreeks(greeks, market = undefined) {
@@ -124861,8 +125014,8 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124861
125014
  const timestamp = this.safeIntegerProduct(greeks, 'timestamp', 0.001);
124862
125015
  const marketId = this.safeString(greeks, 'symbol');
124863
125016
  const symbol = this.safeSymbol(marketId, market);
124864
- const stats = this.safeValue(greeks, 'greeks', {});
124865
- const quotes = this.safeValue(greeks, 'quotes', {});
125017
+ const stats = this.safeDict(greeks, 'greeks', {});
125018
+ const quotes = this.safeDict(greeks, 'quotes', {});
124866
125019
  return {
124867
125020
  'symbol': symbol,
124868
125021
  'timestamp': timestamp,
@@ -124905,7 +125058,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124905
125058
  //
124906
125059
  // {"result":{},"success":true}
124907
125060
  //
124908
- const position = this.parsePosition(this.safeValue(response, 'result', {}));
125061
+ const position = this.parsePosition(this.safeDict(response, 'result', {}));
124909
125062
  return [position];
124910
125063
  }
124911
125064
  async fetchMarginMode(symbol, params = {}) {
@@ -125042,7 +125195,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
125042
125195
  //
125043
125196
  // {"error":{"code":"insufficient_margin","context":{"available_balance":"0.000000000000000000","required_additional_balance":"1.618626000000000000000000000"}},"success":false}
125044
125197
  //
125045
- const error = this.safeValue(response, 'error', {});
125198
+ const error = this.safeDict(response, 'error', {});
125046
125199
  const errorCode = this.safeString(error, 'code');
125047
125200
  if (errorCode !== undefined) {
125048
125201
  const feedback = this.id + ' ' + body;
@@ -141816,6 +141969,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
141816
141969
  * @param {int} [since] the time(ms) of the earliest record to retrieve as a unix timestamp
141817
141970
  * @param {int} [limit] default 30
141818
141971
  * @param {object} [params] exchange specific parameters
141972
+ * @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)
141819
141973
  * @returns {object} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure}
141820
141974
  */
141821
141975
  await this.loadMarkets();
@@ -157246,6 +157400,7 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
157246
157400
  * @param {int} [since] not used by huobi, but filtered internally by ccxt
157247
157401
  * @param {int} [limit] not used by huobi, but filtered internally by ccxt
157248
157402
  * @param {object} [params] extra parameters specific to the exchange API endpoint
157403
+ * @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)
157249
157404
  * @returns {object[]} a list of [funding rate structures]{@link https://docs.ccxt.com/#/?id=funding-rate-history-structure}
157250
157405
  */
157251
157406
  if (symbol === undefined) {
@@ -162165,7 +162320,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162165
162320
  // }
162166
162321
  //
162167
162322
  return [
162168
- this.safeInteger(ohlcv, 'T'),
162323
+ this.safeInteger(ohlcv, 't'),
162169
162324
  this.safeNumber(ohlcv, 'o'),
162170
162325
  this.safeNumber(ohlcv, 'h'),
162171
162326
  this.safeNumber(ohlcv, 'l'),
@@ -168113,7 +168268,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168113
168268
  * @method
168114
168269
  * @name kraken#fetchMarkets
168115
168270
  * @description retrieves data on all markets for kraken
168116
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTradableAssetPairs
168271
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTradableAssetPairs
168117
168272
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168118
168273
  * @returns {object[]} an array of objects representing market data
168119
168274
  */
@@ -168300,7 +168455,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168300
168455
  * @method
168301
168456
  * @name kraken#fetchCurrencies
168302
168457
  * @description fetches all available currencies on an exchange
168303
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getAssetInfo
168458
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getAssetInfo
168304
168459
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168305
168460
  * @returns {object} an associative dictionary of currencies
168306
168461
  */
@@ -168428,7 +168583,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168428
168583
  * @method
168429
168584
  * @name kraken#fetchOrderBook
168430
168585
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
168431
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getOrderBook
168586
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getOrderBook
168432
168587
  * @param {string} symbol unified symbol of the market to fetch the order book for
168433
168588
  * @param {int} [limit] the maximum amount of order book entries to return
168434
168589
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -168530,7 +168685,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168530
168685
  * @method
168531
168686
  * @name kraken#fetchTickers
168532
168687
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
168533
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTickerInformation
168688
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTickerInformation
168534
168689
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
168535
168690
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168536
168691
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -168567,7 +168722,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168567
168722
  * @method
168568
168723
  * @name kraken#fetchTicker
168569
168724
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
168570
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTickerInformation
168725
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTickerInformation
168571
168726
  * @param {string} symbol unified symbol of the market to fetch the ticker for
168572
168727
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168573
168728
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -168612,7 +168767,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168612
168767
  * @method
168613
168768
  * @name kraken#fetchOHLCV
168614
168769
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
168615
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getOHLCData
168770
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getOHLCData
168616
168771
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
168617
168772
  * @param {string} timeframe the length of time each candle represents
168618
168773
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -168910,7 +169065,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168910
169065
  * @method
168911
169066
  * @name kraken#fetchTrades
168912
169067
  * @description get the list of most recent trades for a particular symbol
168913
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getRecentTrades
169068
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getRecentTrades
168914
169069
  * @param {string} symbol unified symbol of the market to fetch trades for
168915
169070
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
168916
169071
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -170074,7 +170229,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
170074
170229
  * @method
170075
170230
  * @name kraken#fetchTime
170076
170231
  * @description fetches the current integer timestamp in milliseconds from the exchange server
170077
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getServerTime
170232
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getServerTime
170078
170233
  * @param {object} [params] extra parameters specific to the exchange API endpoint
170079
170234
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
170080
170235
  */
@@ -173374,8 +173529,8 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173374
173529
  'fetchAccounts': true,
173375
173530
  'fetchBalance': true,
173376
173531
  'fetchBorrowInterest': true,
173377
- 'fetchBorrowRateHistories': false,
173378
- 'fetchBorrowRateHistory': false,
173532
+ 'fetchBorrowRateHistories': true,
173533
+ 'fetchBorrowRateHistory': true,
173379
173534
  'fetchClosedOrders': true,
173380
173535
  'fetchCrossBorrowRate': false,
173381
173536
  'fetchCrossBorrowRates': false,
@@ -173549,6 +173704,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173549
173704
  'isolated/account/{symbol}': 50,
173550
173705
  'margin/borrow': 15,
173551
173706
  'margin/repay': 15,
173707
+ 'margin/interest': 20,
173552
173708
  'project/list': 10,
173553
173709
  'project/marketInterestRate': 7.5,
173554
173710
  'redeem/orders': 10,
@@ -173910,6 +174066,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173910
174066
  'margin/currencies': 'v3',
173911
174067
  'margin/borrow': 'v3',
173912
174068
  'margin/repay': 'v3',
174069
+ 'margin/interest': 'v3',
173913
174070
  'project/list': 'v3',
173914
174071
  'project/marketInterestRate': 'v3',
173915
174072
  'redeem/orders': 'v3',
@@ -177364,12 +177521,19 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
177364
177521
  // "timestamp": 1658531274508488480
177365
177522
  // },
177366
177523
  //
177367
- const timestampId = this.safeString(info, 'timestamp');
177368
- const timestamp = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringMul(timestampId, '0.000001');
177524
+ // {
177525
+ // "createdAt": 1697783812257,
177526
+ // "currency": "XMR",
177527
+ // "interestAmount": "0.1",
177528
+ // "dayRatio": "0.001"
177529
+ // }
177530
+ //
177531
+ const timestampId = this.safeString2(info, 'createdAt', 'timestamp');
177532
+ const timestamp = this.parseToInt(timestampId.slice(0, 13));
177369
177533
  const currencyId = this.safeString(info, 'currency');
177370
177534
  return {
177371
177535
  'currency': this.safeCurrencyCode(currencyId, currency),
177372
- 'rate': this.safeNumber(info, 'dailyIntRate'),
177536
+ 'rate': this.safeNumber2(info, 'dailyIntRate', 'dayRatio'),
177373
177537
  'period': 86400000,
177374
177538
  'timestamp': timestamp,
177375
177539
  'datetime': this.iso8601(timestamp),
@@ -177553,6 +177717,144 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
177553
177717
  'info': info,
177554
177718
  };
177555
177719
  }
177720
+ async fetchBorrowRateHistories(codes = undefined, since = undefined, limit = undefined, params = {}) {
177721
+ /**
177722
+ * @method
177723
+ * @name kucoin#fetchBorrowRateHistories
177724
+ * @description retrieves a history of a multiple currencies borrow interest rate at specific time slots, returns all currencies if no symbols passed, default is undefined
177725
+ * @see https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/get-cross-isolated-margin-interest-records
177726
+ * @param {string[]|undefined} codes list of unified currency codes, default is undefined
177727
+ * @param {int} [since] timestamp in ms of the earliest borrowRate, default is undefined
177728
+ * @param {int} [limit] max number of borrow rate prices to return, default is undefined
177729
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
177730
+ * @param {string} [params.marginMode] 'cross' or 'isolated' default is 'cross'
177731
+ * @param {int} [params.until] the latest time in ms to fetch entries for
177732
+ * @returns {object} a dictionary of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure} indexed by the market symbol
177733
+ */
177734
+ await this.loadMarkets();
177735
+ const marginResult = this.handleMarginModeAndParams('fetchBorrowRateHistories', params);
177736
+ const marginMode = this.safeString(marginResult, 0, 'cross');
177737
+ const isIsolated = (marginMode === 'isolated'); // true-isolated, false-cross
177738
+ let request = {
177739
+ 'isIsolated': isIsolated,
177740
+ };
177741
+ if (since !== undefined) {
177742
+ request['startTime'] = since;
177743
+ }
177744
+ [request, params] = this.handleUntilOption('endTime', request, params);
177745
+ if (limit !== undefined) {
177746
+ request['pageSize'] = limit; // default:50, min:10, max:500
177747
+ }
177748
+ const response = await this.privateGetMarginInterest(this.extend(request, params));
177749
+ //
177750
+ // {
177751
+ // "code": "200000",
177752
+ // "data": {
177753
+ // "timestamp": 1710829939673,
177754
+ // "currentPage": 1,
177755
+ // "pageSize": 50,
177756
+ // "totalNum": 0,
177757
+ // "totalPage": 0,
177758
+ // "items": [
177759
+ // {
177760
+ // "createdAt": 1697783812257,
177761
+ // "currency": "XMR",
177762
+ // "interestAmount": "0.1",
177763
+ // "dayRatio": "0.001"
177764
+ // }
177765
+ // ]
177766
+ // }
177767
+ // }
177768
+ //
177769
+ const data = this.safeDict(response, 'data');
177770
+ const rows = this.safeList(data, 'items');
177771
+ return this.parseBorrowRateHistories(rows, codes, since, limit);
177772
+ }
177773
+ async fetchBorrowRateHistory(code, since = undefined, limit = undefined, params = {}) {
177774
+ /**
177775
+ * @method
177776
+ * @name kucoin#fetchBorrowRateHistory
177777
+ * @description retrieves a history of a currencies borrow interest rate at specific time slots
177778
+ * @see https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/get-cross-isolated-margin-interest-records
177779
+ * @param {string} code unified currency code
177780
+ * @param {int} [since] timestamp for the earliest borrow rate
177781
+ * @param {int} [limit] the maximum number of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure} to retrieve
177782
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
177783
+ * @param {string} [params.marginMode] 'cross' or 'isolated' default is 'cross'
177784
+ * @param {int} [params.until] the latest time in ms to fetch entries for
177785
+ * @returns {object[]} an array of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure}
177786
+ */
177787
+ await this.loadMarkets();
177788
+ const marginResult = this.handleMarginModeAndParams('fetchBorrowRateHistories', params);
177789
+ const marginMode = this.safeString(marginResult, 0, 'cross');
177790
+ const isIsolated = (marginMode === 'isolated'); // true-isolated, false-cross
177791
+ const currency = this.currency(code);
177792
+ let request = {
177793
+ 'isIsolated': isIsolated,
177794
+ 'currency': currency['id'],
177795
+ };
177796
+ if (since !== undefined) {
177797
+ request['startTime'] = since;
177798
+ }
177799
+ [request, params] = this.handleUntilOption('endTime', request, params);
177800
+ if (limit !== undefined) {
177801
+ request['pageSize'] = limit; // default:50, min:10, max:500
177802
+ }
177803
+ const response = await this.privateGetMarginInterest(this.extend(request, params));
177804
+ //
177805
+ // {
177806
+ // "code": "200000",
177807
+ // "data": {
177808
+ // "timestamp": 1710829939673,
177809
+ // "currentPage": 1,
177810
+ // "pageSize": 50,
177811
+ // "totalNum": 0,
177812
+ // "totalPage": 0,
177813
+ // "items": [
177814
+ // {
177815
+ // "createdAt": 1697783812257,
177816
+ // "currency": "XMR",
177817
+ // "interestAmount": "0.1",
177818
+ // "dayRatio": "0.001"
177819
+ // }
177820
+ // ]
177821
+ // }
177822
+ // }
177823
+ //
177824
+ const data = this.safeDict(response, 'data');
177825
+ const rows = this.safeList(data, 'items');
177826
+ return this.parseBorrowRateHistory(rows, code, since, limit);
177827
+ }
177828
+ parseBorrowRateHistories(response, codes, since, limit) {
177829
+ //
177830
+ // [
177831
+ // {
177832
+ // "createdAt": 1697783812257,
177833
+ // "currency": "XMR",
177834
+ // "interestAmount": "0.1",
177835
+ // "dayRatio": "0.001"
177836
+ // }
177837
+ // ]
177838
+ //
177839
+ const borrowRateHistories = {};
177840
+ for (let i = 0; i < response.length; i++) {
177841
+ const item = response[i];
177842
+ const code = this.safeCurrencyCode(this.safeString(item, 'currency'));
177843
+ if (codes === undefined || this.inArray(code, codes)) {
177844
+ if (!(code in borrowRateHistories)) {
177845
+ borrowRateHistories[code] = [];
177846
+ }
177847
+ const borrowRateStructure = this.parseBorrowRate(item);
177848
+ borrowRateHistories[code].push(borrowRateStructure);
177849
+ }
177850
+ }
177851
+ const keys = Object.keys(borrowRateHistories);
177852
+ for (let i = 0; i < keys.length; i++) {
177853
+ const code = keys[i];
177854
+ borrowRateHistories[code] = this.filterByCurrencySinceLimit(borrowRateHistories[code], code, since, limit);
177855
+ }
177856
+ return borrowRateHistories;
177857
+ }
177556
177858
  async borrowCrossMargin(code, amount, params = {}) {
177557
177859
  /**
177558
177860
  * @method
@@ -226085,7 +226387,7 @@ class ascendex extends _ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
226085
226387
  'key': this.apiKey,
226086
226388
  'sig': signature,
226087
226389
  };
226088
- future = this.watch(url, messageHash, this.extend(request, params));
226390
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
226089
226391
  client.subscriptions[messageHash] = future;
226090
226392
  }
226091
226393
  return future;
@@ -240071,7 +240373,7 @@ class bitvavo extends _bitvavo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
240071
240373
  'timestamp': timestamp,
240072
240374
  };
240073
240375
  const message = this.extend(request, params);
240074
- future = this.watch(url, messageHash, message);
240376
+ future = await this.watch(url, messageHash, message, messageHash);
240075
240377
  client.subscriptions[messageHash] = future;
240076
240378
  }
240077
240379
  return future;
@@ -245020,7 +245322,7 @@ class coinbaseinternational extends _coinbaseinternational_js__WEBPACK_IMPORTED_
245020
245322
  'ordersLimit': 1000,
245021
245323
  'myTradesLimit': 1000,
245022
245324
  },
245023
- 'errors': {
245325
+ 'exceptions': {
245024
245326
  'exact': {
245025
245327
  'Unable to authenticate': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
245026
245328
  },
@@ -247834,8 +248136,12 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247834
248136
  //
247835
248137
  const messageHashSpot = 'authenticated:spot';
247836
248138
  const messageHashSwap = 'authenticated:swap';
247837
- client.resolve(message, messageHashSpot);
247838
- client.resolve(message, messageHashSwap);
248139
+ // client.resolve (message, messageHashSpot);
248140
+ // client.resolve (message, messageHashSwap);
248141
+ const spotFuture = this.safeValue(client.futures, messageHashSpot);
248142
+ spotFuture.resolve(true);
248143
+ const swapFutures = this.safeValue(client.futures, messageHashSwap);
248144
+ swapFutures.resolve(true);
247839
248145
  return message;
247840
248146
  }
247841
248147
  handleSubscriptionStatus(client, message) {
@@ -247860,16 +248166,20 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247860
248166
  const url = this.urls['api']['ws'][type];
247861
248167
  const client = this.client(url);
247862
248168
  const time = this.milliseconds();
248169
+ const isSpot = (type === 'spot');
248170
+ const spotMessageHash = 'authenticated:spot';
248171
+ const swapMessageHash = 'authenticated:swap';
248172
+ const messageHash = isSpot ? spotMessageHash : swapMessageHash;
248173
+ const future = client.future(messageHash);
248174
+ const authenticated = this.safeValue(client.subscriptions, messageHash);
247863
248175
  if (type === 'spot') {
247864
- const messageHash = 'authenticated:spot';
247865
- let future = this.safeValue(client.subscriptions, messageHash);
247866
- if (future !== undefined) {
248176
+ if (authenticated !== undefined) {
247867
248177
  return await future;
247868
248178
  }
247869
248179
  const requestId = this.requestId();
247870
248180
  const subscribe = {
247871
248181
  'id': requestId,
247872
- 'future': 'authenticated:spot',
248182
+ 'future': spotMessageHash,
247873
248183
  };
247874
248184
  const signData = 'access_id=' + this.apiKey + '&tonce=' + this.numberToString(time) + '&secret_key=' + this.secret;
247875
248185
  const hash = this.hash(this.encode(signData), _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_5__/* .md5 */ .F);
@@ -247882,20 +248192,18 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247882
248192
  ],
247883
248193
  'id': requestId,
247884
248194
  };
247885
- future = this.watch(url, messageHash, request, requestId, subscribe);
247886
- client.subscriptions[messageHash] = future;
248195
+ this.watch(url, messageHash, request, requestId, subscribe);
248196
+ client.subscriptions[messageHash] = true;
247887
248197
  return await future;
247888
248198
  }
247889
248199
  else {
247890
- const messageHash = 'authenticated:swap';
247891
- let future = this.safeValue(client.subscriptions, messageHash);
247892
- if (future !== undefined) {
248200
+ if (authenticated !== undefined) {
247893
248201
  return await future;
247894
248202
  }
247895
248203
  const requestId = this.requestId();
247896
248204
  const subscribe = {
247897
248205
  'id': requestId,
247898
- 'future': 'authenticated:swap',
248206
+ 'future': swapMessageHash,
247899
248207
  };
247900
248208
  const signData = 'access_id=' + this.apiKey + '&timestamp=' + this.numberToString(time) + '&secret_key=' + this.secret;
247901
248209
  const hash = this.hash(this.encode(signData), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__/* .sha256 */ .J, 'hex');
@@ -247908,8 +248216,8 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247908
248216
  ],
247909
248217
  'id': requestId,
247910
248218
  };
247911
- future = this.watch(url, messageHash, request, requestId, subscribe);
247912
- client.subscriptions[messageHash] = future;
248219
+ this.watch(url, messageHash, request, requestId, subscribe);
248220
+ client.subscriptions[messageHash] = true;
247913
248221
  return await future;
247914
248222
  }
247915
248223
  }
@@ -250880,7 +251188,7 @@ class deribit extends _deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
250880
251188
  'data': '',
250881
251189
  },
250882
251190
  };
250883
- future = this.watch(url, messageHash, this.extend(request, params));
251191
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
250884
251192
  client.subscriptions[messageHash] = future;
250885
251193
  }
250886
251194
  return future;
@@ -251549,7 +251857,7 @@ class exmo extends _exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
251549
251857
  'nonce': time,
251550
251858
  };
251551
251859
  const message = this.extend(request, query);
251552
- future = this.watch(url, messageHash, message);
251860
+ future = await this.watch(url, messageHash, message, messageHash);
251553
251861
  client.subscriptions[messageHash] = future;
251554
251862
  }
251555
251863
  return future;
@@ -261868,7 +262176,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
261868
262176
  'api_key': this.apiKey,
261869
262177
  };
261870
262178
  const message = this.extend(request, params);
261871
- future = await this.watch(url, messageHash, message);
262179
+ future = await this.watch(url, messageHash, message, messageHash);
261872
262180
  client.subscriptions[messageHash] = future;
261873
262181
  }
261874
262182
  return future;
@@ -274073,7 +274381,7 @@ class phemex extends _phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
274073
274381
  if (!(messageHash in client.subscriptions)) {
274074
274382
  client.subscriptions[subscriptionHash] = this.handleAuthenticate;
274075
274383
  }
274076
- future = this.watch(url, messageHash, message);
274384
+ future = await this.watch(url, messageHash, message, messageHash);
274077
274385
  client.subscriptions[messageHash] = future;
274078
274386
  }
274079
274387
  return future;
@@ -274196,7 +274504,7 @@ class poloniex extends _poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
274196
274504
  },
274197
274505
  };
274198
274506
  const message = this.extend(request, params);
274199
- future = await this.watch(url, messageHash, message);
274507
+ future = await this.watch(url, messageHash, message, messageHash);
274200
274508
  //
274201
274509
  // {
274202
274510
  // "data": {
@@ -276971,7 +277279,7 @@ class probit extends _probit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
276971
277279
  'type': 'authorization',
276972
277280
  'token': accessToken,
276973
277281
  };
276974
- future = this.watch(url, messageHash, this.extend(request, params));
277282
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
276975
277283
  client.subscriptions[messageHash] = future;
276976
277284
  }
276977
277285
  return future;
@@ -279013,6 +279321,13 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279013
279321
  'ping': this.ping,
279014
279322
  'keepAlive': 10000,
279015
279323
  },
279324
+ 'exceptions': {
279325
+ 'ws': {
279326
+ 'exact': {
279327
+ 'Auth is needed.': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
279328
+ },
279329
+ },
279330
+ },
279016
279331
  });
279017
279332
  }
279018
279333
  requestId(url) {
@@ -279374,8 +279689,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279374
279689
  const client = this.client(url);
279375
279690
  const messageHash = 'authenticated';
279376
279691
  const event = 'auth';
279377
- let future = this.safeValue(client.subscriptions, messageHash);
279378
- if (future === undefined) {
279692
+ const future = client.future(messageHash);
279693
+ const authenticated = this.safeValue(client.subscriptions, messageHash);
279694
+ if (authenticated === undefined) {
279379
279695
  const ts = this.nonce().toString();
279380
279696
  const auth = '|' + ts;
279381
279697
  const signature = this.hmac(this.encode(auth), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
@@ -279388,10 +279704,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279388
279704
  },
279389
279705
  };
279390
279706
  const message = this.extend(request, params);
279391
- future = this.watch(url, messageHash, message);
279392
- client.subscriptions[messageHash] = future;
279707
+ this.watch(url, messageHash, message, messageHash);
279393
279708
  }
279394
- return future;
279709
+ return await future;
279395
279710
  }
279396
279711
  async watchPrivate(messageHash, message, params = {}) {
279397
279712
  await this.authenticate(params);
@@ -279404,6 +279719,16 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279404
279719
  return await this.watch(url, messageHash, request, messageHash, subscribe);
279405
279720
  }
279406
279721
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
279722
+ /**
279723
+ * @method
279724
+ * @name woo#watchOrders
279725
+ * @description watches information on multiple orders made by the user
279726
+ * @param {string} symbol unified market symbol of the market orders were made in
279727
+ * @param {int} [since] the earliest time in ms to fetch orders for
279728
+ * @param {int} [limit] the maximum number of order structures to retrieve
279729
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
279730
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
279731
+ */
279407
279732
  await this.loadMarkets();
279408
279733
  const topic = 'executionreport';
279409
279734
  let messageHash = topic;
@@ -279756,7 +280081,43 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279756
280081
  this.balance = this.safeBalance(this.balance);
279757
280082
  client.resolve(this.balance, 'balance');
279758
280083
  }
280084
+ handleErrorMessage(client, message) {
280085
+ //
280086
+ // {"id":"1","event":"subscribe","success":false,"ts":1710780997216,"errorMsg":"Auth is needed."}
280087
+ //
280088
+ if (!('success' in message)) {
280089
+ return false;
280090
+ }
280091
+ const success = this.safeBool(message, 'success');
280092
+ if (success) {
280093
+ return false;
280094
+ }
280095
+ const errorMessage = this.safeString(message, 'errorMsg');
280096
+ try {
280097
+ if (errorMessage !== undefined) {
280098
+ const feedback = this.id + ' ' + this.json(message);
280099
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorMessage, feedback);
280100
+ }
280101
+ return false;
280102
+ }
280103
+ catch (error) {
280104
+ if (error instanceof _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError) {
280105
+ const messageHash = 'authenticated';
280106
+ client.reject(error, messageHash);
280107
+ if (messageHash in client.subscriptions) {
280108
+ delete client.subscriptions[messageHash];
280109
+ }
280110
+ }
280111
+ else {
280112
+ client.reject(error);
280113
+ }
280114
+ return true;
280115
+ }
280116
+ }
279759
280117
  handleMessage(client, message) {
280118
+ if (this.handleErrorMessage(client, message)) {
280119
+ return;
280120
+ }
279760
280121
  const methods = {
279761
280122
  'ping': this.handlePing,
279762
280123
  'pong': this.handlePong,
@@ -279839,7 +280200,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279839
280200
  const messageHash = 'authenticated';
279840
280201
  const success = this.safeValue(message, 'success');
279841
280202
  if (success) {
279842
- client.resolve(message, messageHash);
280203
+ // client.resolve (message, messageHash);
280204
+ const future = this.safeValue(client.futures, 'authenticated');
280205
+ future.resolve(true);
279843
280206
  }
279844
280207
  else {
279845
280208
  const error = new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError(this.json(message));
@@ -309821,9 +310184,15 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
309821
310184
  * @param {boolean} [params.isTriggered] whether the order has been triggered (false by default)
309822
310185
  * @param {string} [params.side] 'buy' or 'sell'
309823
310186
  * @param {boolean} [params.trailing] set to true if you want to fetch trailing orders
310187
+ * @param {boolean} [params.paginate] set to true if you want to fetch orders with pagination
309824
310188
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
309825
310189
  */
309826
310190
  await this.loadMarkets();
310191
+ let paginate = false;
310192
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchOrders', 'paginate');
310193
+ if (paginate) {
310194
+ return await this.fetchPaginatedCallIncremental('fetchOrders', symbol, since, limit, params, 'page', 500);
310195
+ }
309827
310196
  const request = {};
309828
310197
  let market = undefined;
309829
310198
  const stop = this.safeBool2(params, 'stop', 'trigger');
@@ -309841,6 +310210,12 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
309841
310210
  request['start_t'] = since;
309842
310211
  }
309843
310212
  }
310213
+ if (limit !== undefined) {
310214
+ request['size'] = limit;
310215
+ }
310216
+ else {
310217
+ request['size'] = 500;
310218
+ }
309844
310219
  if (stop) {
309845
310220
  request['algoType'] = 'stop';
309846
310221
  }
@@ -310206,14 +310581,21 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
310206
310581
  /**
310207
310582
  * @method
310208
310583
  * @name woo#fetchMyTrades
310584
+ * @see https://docs.woo.org/#get-trades
310209
310585
  * @description fetch all trades made by the user
310210
310586
  * @param {string} symbol unified market symbol
310211
310587
  * @param {int} [since] the earliest time in ms to fetch trades for
310212
310588
  * @param {int} [limit] the maximum number of trades structures to retrieve
310213
310589
  * @param {object} [params] extra parameters specific to the exchange API endpoint
310590
+ * @param {boolean} [params.paginate] set to true if you want to fetch trades with pagination
310214
310591
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
310215
310592
  */
310216
310593
  await this.loadMarkets();
310594
+ let paginate = false;
310595
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchMyTrades', 'paginate');
310596
+ if (paginate) {
310597
+ return await this.fetchPaginatedCallIncremental('fetchMyTrades', symbol, since, limit, params, 'page', 500);
310598
+ }
310217
310599
  const request = {};
310218
310600
  let market = undefined;
310219
310601
  if (symbol !== undefined) {
@@ -310223,6 +310605,12 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
310223
310605
  if (since !== undefined) {
310224
310606
  request['start_t'] = since;
310225
310607
  }
310608
+ if (limit !== undefined) {
310609
+ request['size'] = limit;
310610
+ }
310611
+ else {
310612
+ request['size'] = 500;
310613
+ }
310226
310614
  const response = await this.v1PrivateGetClientTrades(this.extend(request, params));
310227
310615
  // {
310228
310616
  // "success": true,
@@ -321533,7 +321921,7 @@ SOFTWARE.
321533
321921
 
321534
321922
  //-----------------------------------------------------------------------------
321535
321923
  // this is updated by vss.js when building
321536
- const version = '4.2.75';
321924
+ const version = '4.2.77';
321537
321925
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
321538
321926
  //-----------------------------------------------------------------------------
321539
321927