ccxt 4.2.76 → 4.2.78

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 (74) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.js +1181 -643
  3. package/dist/ccxt.browser.min.js +7 -7
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +6 -0
  6. package/dist/cjs/src/binance.js +502 -443
  7. package/dist/cjs/src/bingx.js +1 -1
  8. package/dist/cjs/src/blofin.js +14 -2
  9. package/dist/cjs/src/bybit.js +106 -60
  10. package/dist/cjs/src/coinbase.js +23 -10
  11. package/dist/cjs/src/delta.js +66 -49
  12. package/dist/cjs/src/gate.js +1 -0
  13. package/dist/cjs/src/htx.js +36 -27
  14. package/dist/cjs/src/hyperliquid.js +7 -5
  15. package/dist/cjs/src/kraken.js +8 -8
  16. package/dist/cjs/src/kucoin.js +204 -5
  17. package/dist/cjs/src/okcoin.js +27 -1
  18. package/dist/cjs/src/okx.js +18 -0
  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/coinex.js +20 -14
  22. package/dist/cjs/src/pro/deribit.js +1 -1
  23. package/dist/cjs/src/pro/exmo.js +1 -1
  24. package/dist/cjs/src/pro/krakenfutures.js +1 -1
  25. package/dist/cjs/src/pro/phemex.js +1 -1
  26. package/dist/cjs/src/pro/poloniex.js +1 -1
  27. package/dist/cjs/src/pro/probit.js +1 -1
  28. package/dist/cjs/src/pro/woo.js +61 -6
  29. package/dist/cjs/src/woo.js +72 -3
  30. package/js/ccxt.d.ts +1 -1
  31. package/js/ccxt.js +1 -1
  32. package/js/src/abstract/kucoin.d.ts +1 -0
  33. package/js/src/abstract/kucoinfutures.d.ts +1 -0
  34. package/js/src/base/Exchange.d.ts +3 -3
  35. package/js/src/base/Exchange.js +6 -0
  36. package/js/src/base/types.d.ts +3 -3
  37. package/js/src/binance.d.ts +2 -2
  38. package/js/src/binance.js +502 -443
  39. package/js/src/bingx.js +1 -1
  40. package/js/src/bitflyer.d.ts +2 -2
  41. package/js/src/bithumb.d.ts +2 -2
  42. package/js/src/blofin.js +14 -2
  43. package/js/src/bybit.d.ts +1 -1
  44. package/js/src/bybit.js +106 -60
  45. package/js/src/coinbase.d.ts +2 -2
  46. package/js/src/coinbase.js +23 -10
  47. package/js/src/delta.d.ts +2 -1
  48. package/js/src/delta.js +66 -49
  49. package/js/src/deribit.d.ts +1 -1
  50. package/js/src/gate.d.ts +1 -1
  51. package/js/src/gate.js +1 -0
  52. package/js/src/htx.js +36 -27
  53. package/js/src/hyperliquid.js +7 -5
  54. package/js/src/kraken.js +8 -8
  55. package/js/src/kucoin.d.ts +4 -1
  56. package/js/src/kucoin.js +204 -5
  57. package/js/src/okcoin.js +27 -1
  58. package/js/src/okx.d.ts +1 -1
  59. package/js/src/okx.js +18 -0
  60. package/js/src/pro/ascendex.js +1 -1
  61. package/js/src/pro/bitvavo.js +1 -1
  62. package/js/src/pro/coinex.js +20 -14
  63. package/js/src/pro/deribit.js +1 -1
  64. package/js/src/pro/exmo.js +1 -1
  65. package/js/src/pro/krakenfutures.js +1 -1
  66. package/js/src/pro/phemex.js +1 -1
  67. package/js/src/pro/poloniex.js +1 -1
  68. package/js/src/pro/probit.js +1 -1
  69. package/js/src/pro/woo.d.ts +1 -0
  70. package/js/src/pro/woo.js +61 -6
  71. package/js/src/woo.d.ts +2 -0
  72. package/js/src/woo.js +72 -3
  73. package/package.json +1 -1
  74. package/skip-tests.json +6 -3
@@ -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];
@@ -19870,63 +19876,30 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19870
19876
  },
19871
19877
  'exceptions': {
19872
19878
  'spot': {
19873
- // https://binance-docs.github.io/apidocs/spot/en/#error-codes
19874
19879
  'exact': {
19875
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19876
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19877
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19878
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
19880
+ //
19881
+ // 1xxx
19882
+ //
19879
19883
  '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19880
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19881
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
19882
19884
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19883
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19884
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19885
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19886
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
19887
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19888
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19889
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
19890
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19891
19885
  '-1099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19892
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19893
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19894
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19895
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19896
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19897
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19898
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19899
19886
  '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19900
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19901
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19902
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19903
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19904
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19905
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19906
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19907
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19908
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19909
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19910
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19911
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19912
- '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19913
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19914
19887
  '-1131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19915
19888
  '-1134': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19916
19889
  '-1135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19917
19890
  '-1145': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19918
19891
  '-1151': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19892
+ //
19893
+ // 2xxx
19894
+ //
19919
19895
  '-2008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19920
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19921
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
19922
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
19923
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19924
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19925
19896
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
19926
19897
  '-2021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
19927
19898
  '-2022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
19928
19899
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
19929
- // 3xxx errors are available only for spot
19900
+ //
19901
+ // 3xxx (these errors are available only for spot atm)
19902
+ //
19930
19903
  '-3000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19931
19904
  '-3001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
19932
19905
  '-3002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
@@ -19966,6 +19939,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19966
19939
  '-3044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19967
19940
  '-3045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
19968
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,
19969
19946
  '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19970
19947
  '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19971
19948
  '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -19985,6 +19962,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
19985
19962
  '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
19986
19963
  '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
19987
19964
  '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19965
+ '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
19988
19966
  '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19989
19967
  '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
19990
19968
  '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
@@ -20012,7 +19990,108 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20012
19990
  '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20013
19991
  '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20014
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,
20015
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
+ //
20016
20095
  '-5001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20017
20096
  '-5002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20018
20097
  '-5003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20028,6 +20107,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20028
20107
  '-5013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20029
20108
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20030
20109
  '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20110
+ //
20111
+ // 6xxx
20112
+ //
20031
20113
  '-6001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20032
20114
  '-6003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20033
20115
  '-6004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20046,8 +20128,14 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20046
20128
  '-6018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20047
20129
  '-6019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20048
20130
  '-6020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20131
+ //
20132
+ // 7xxx
20133
+ //
20049
20134
  '-7001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20050
20135
  '-7002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20136
+ //
20137
+ // 1xxxx
20138
+ //
20051
20139
  '-10001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20052
20140
  '-10002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20053
20141
  '-10005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
@@ -20103,17 +20191,10 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20103
20191
  '-18005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20104
20192
  '-18006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20105
20193
  '-18007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20106
- // spot & futures algo (TBD for OPTIONS & PORTFOLIO MARGIN)
20107
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20108
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20109
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20110
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20111
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20112
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20113
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20114
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20115
- '-20204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20116
- // 21xxx - PORTFOLIO MARGIN
20194
+ //
20195
+ // 2xxxx
20196
+ //
20197
+ // 21xxx - PORTFOLIO MARGIN (documented in spot docs)
20117
20198
  '-21001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20118
20199
  '-21002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20119
20200
  '-21003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadResponse,
@@ -20121,6 +20202,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20121
20202
  '-21005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20122
20203
  '-21006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20123
20204
  '-21007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20205
+ //
20206
+ // misc
20207
+ //
20124
20208
  '-32603': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20125
20209
  '400002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20126
20210
  '100001003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
@@ -20128,62 +20212,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20128
20212
  },
20129
20213
  },
20130
20214
  'linear': {
20131
- // https://binance-docs.github.io/apidocs/futures/en/#error-codes
20132
20215
  'exact': {
20133
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20134
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20135
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20136
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20137
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20216
+ //
20217
+ // 1xxx
20218
+ //
20138
20219
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20139
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20140
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20141
20220
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20142
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20143
20221
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20144
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20145
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20146
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20147
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20148
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20149
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20150
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20151
20222
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20152
20223
  '-1099': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20153
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20154
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20155
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20156
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20157
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20158
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20159
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20160
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20161
20224
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20162
20225
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20163
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20164
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20165
20226
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20166
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20167
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20168
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20169
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20170
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20171
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20172
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20173
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20174
20227
  '-1122': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20175
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20176
20228
  '-1126': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20177
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20178
- '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20179
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20180
20229
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20181
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20182
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20230
+ //
20231
+ // 2xxx
20232
+ //
20183
20233
  '-2012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20184
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20185
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20186
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20187
20234
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20188
20235
  '-2017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20189
20236
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20197,65 +20244,13 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20197
20244
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20198
20245
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20199
20246
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20200
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20201
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20202
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20203
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20204
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20205
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20206
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20207
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20208
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20209
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20210
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20211
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20212
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20213
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20214
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20215
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20216
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20217
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20218
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20219
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20220
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20221
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20222
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20223
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20224
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20225
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20226
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20227
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20228
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20229
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20230
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20231
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20232
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20233
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20234
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20235
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20236
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20237
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20238
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20239
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20240
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20241
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20242
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20243
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20244
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20245
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20246
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20247
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20248
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20249
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20250
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20251
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20252
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20247
+ //
20248
+ // 4xxx
20249
+ //
20253
20250
  '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20254
20251
  '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20255
20252
  '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20256
20253
  '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20257
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20258
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20259
20254
  '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20260
20255
  '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20261
20256
  '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20269,25 +20264,15 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20269
20264
  '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20270
20265
  '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20271
20266
  '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20272
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20273
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20274
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20275
20267
  '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20276
- '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20277
20268
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20278
20269
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20279
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20280
20270
  '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20281
20271
  '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20282
20272
  '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20283
20273
  '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20284
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20285
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20286
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20287
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20288
20274
  '-4140': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20289
20275
  '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20290
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20291
20276
  '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20292
20277
  '-4164': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20293
20278
  '-4165': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20296,7 +20281,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20296
20281
  '-4169': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20297
20282
  '-4170': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20298
20283
  '-4171': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20299
- '-4172 ': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20284
+ '-4172': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20300
20285
  '-4183': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20301
20286
  '-4184': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20302
20287
  '-4192': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -20312,6 +20297,9 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20312
20297
  '-4401': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20313
20298
  '-4402': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20314
20299
  '-4403': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20300
+ //
20301
+ // 5xxx
20302
+ //
20315
20303
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20316
20304
  '-5022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20317
20305
  '-5024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
@@ -20323,73 +20311,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20323
20311
  '-5038': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20324
20312
  '-5039': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20325
20313
  '-5040': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20326
- '-5041': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20327
- //
20328
- // spot & futures algo (TBD for OPTIONS & PORTFOLIO MARGIN)
20329
- //
20330
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20331
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20332
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20333
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20334
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20335
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20336
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20337
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20338
- '-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
20339
20315
  },
20340
20316
  },
20341
20317
  'inverse': {
20342
- // https://binance-docs.github.io/apidocs/delivery/en/#error-codes
20343
20318
  'exact': {
20344
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20345
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20346
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20347
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20348
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20319
+ //
20320
+ // 1xxx
20321
+ //
20349
20322
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20350
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20351
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20352
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20353
20323
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20354
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20355
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20356
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20357
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20358
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20359
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20360
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20361
20324
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20362
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20363
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20364
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20365
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20366
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20367
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20368
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20369
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20370
20325
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20371
20326
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20372
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20373
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20374
20327
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20375
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20376
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20377
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20378
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20379
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20380
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20381
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20382
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20383
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20384
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20385
20328
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20386
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20387
20329
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20388
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20389
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20390
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20391
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20392
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20330
+ //
20331
+ // 2xxx
20332
+ //
20393
20333
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20394
20334
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20395
20335
  '-2019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20402,86 +20342,25 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20402
20342
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20403
20343
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20404
20344
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20405
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20406
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20407
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20408
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20409
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20410
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20411
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20412
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20413
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20414
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20415
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20416
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20417
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20418
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20419
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20420
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20421
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20422
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20423
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20424
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20425
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20426
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20427
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20428
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20429
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20430
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20431
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20432
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20433
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20434
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20435
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20436
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20437
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20438
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20439
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20440
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20441
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20442
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20443
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20444
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20445
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20446
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20447
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20448
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20449
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20450
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20451
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20452
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20453
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20454
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20455
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20456
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20457
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20458
20345
  //
20459
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20460
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20461
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20462
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20463
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20346
+ // 4xxx
20347
+ //
20464
20348
  '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20465
20349
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20466
20350
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20467
20351
  '-4089': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20468
20352
  '-4090': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20469
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20470
20353
  '-4110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20471
20354
  '-4111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20472
20355
  '-4112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20473
20356
  '-4113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20474
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20475
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20476
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20477
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20478
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20479
20357
  '-4150': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20480
20358
  '-4151': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20481
20359
  '-4152': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20482
20360
  '-4154': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20483
20361
  '-4155': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20484
20362
  '-4178': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20363
+ '-4188': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20485
20364
  '-4192': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20486
20365
  '-4194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20487
20366
  '-4195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -20491,125 +20370,216 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20491
20370
  '-4199': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20492
20371
  '-4200': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20493
20372
  '-4201': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20494
- '-4202': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20495
- '-4188': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20496
- //
20497
- // spot & futures algo
20498
- //
20499
- '-20121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20500
- '-20124': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20501
- '-20130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20502
- '-20132': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20503
- '-20194': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20504
- '-20195': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20505
- '-20196': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20506
- '-20198': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20507
- '-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.
20508
20374
  },
20509
20375
  },
20510
20376
  'option': {
20511
- // https://binance-docs.github.io/apidocs/voptions/en/#error-codes
20512
20377
  'exact': {
20513
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20514
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20515
- '-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,
20516
20385
  '-1008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20517
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20518
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20519
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20520
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20521
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20522
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20523
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20524
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20525
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20526
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20527
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20528
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20529
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20530
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20531
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20532
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20533
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20534
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20535
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20536
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20537
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20538
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20539
- '-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,
20540
20391
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20541
20392
  '-1129': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20542
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20543
20393
  '-1131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20544
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20545
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20546
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20547
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20394
+ //
20395
+ // 2xxx
20396
+ //
20397
+ '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
20548
20398
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20549
20399
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20400
+ //
20401
+ // 3xxx
20402
+ //
20550
20403
  '-3029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20551
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20552
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20553
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20554
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20555
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20556
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20557
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20558
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20559
- '-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
20560
20565
  },
20561
20566
  },
20562
20567
  'portfolioMargin': {
20563
20568
  'exact': {
20564
- '-1000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20565
- '-1001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20566
- '-1002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20567
- '-1003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20568
- '-1004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20569
+ //
20570
+ // 1xxx
20571
+ //
20569
20572
  '-1005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20570
- '-1006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20571
- '-1007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RequestTimeout,
20572
- '-1010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20573
20573
  '-1011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20574
- '-1013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20575
- '-1014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20576
- '-1015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.RateLimitExceeded,
20577
- '-1016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20578
- '-1020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20579
- '-1021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidNonce,
20580
- '-1022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20581
20574
  '-1023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20582
- '-1100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20583
- '-1101': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20584
- '-1102': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20585
- '-1103': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20586
- '-1104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20587
- '-1105': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20588
- '-1106': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20589
- '-1108': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20590
20575
  '-1109': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20591
20576
  '-1110': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20592
- '-1111': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20593
- '-1112': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20594
20577
  '-1113': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20595
- '-1114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20596
- '-1115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20597
- '-1116': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20598
- '-1117': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20599
- '-1118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20600
- '-1119': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20601
- '-1120': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20602
- '-1121': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20603
- '-1125': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20604
- '-1127': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20605
20578
  '-1128': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20606
- '-1130': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20607
20579
  '-1136': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20608
- '-2010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20609
- '-2011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20610
- '-2013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
20611
- '-2014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20612
- '-2015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20580
+ //
20581
+ // 2xxx
20582
+ //
20613
20583
  '-2016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20614
20584
  '-2018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20615
20585
  '-2019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -20622,65 +20592,13 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20622
20592
  '-2026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20623
20593
  '-2027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20624
20594
  '-2028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20625
- '-4000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
20626
- '-4001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20627
- '-4002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20628
- '-4003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20629
- '-4004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20630
- '-4005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20631
- '-4006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20632
- '-4007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20633
- '-4008': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20634
- '-4009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20635
- '-4010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20636
- '-4011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20637
- '-4012': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20638
- '-4013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20639
- '-4014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20640
- '-4015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20641
- '-4016': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20642
- '-4017': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20643
- '-4018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20644
- '-4019': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20645
- '-4020': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20646
- '-4021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20647
- '-4022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20648
- '-4023': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20649
- '-4024': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20650
- '-4025': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20651
- '-4026': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20652
- '-4027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20653
- '-4028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20654
- '-4029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20655
- '-4030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20656
- '-4031': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20657
- '-4032': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20658
- '-4033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20659
- '-4044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20660
- '-4045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20661
- '-4046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20662
- '-4047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20663
- '-4048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20664
- '-4049': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20665
- '-4050': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20666
- '-4051': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
20667
- '-4052': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20668
- '-4053': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20669
- '-4054': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20670
- '-4055': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20671
- '-4056': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20672
- '-4057': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
20673
- '-4058': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20674
- '-4059': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20675
- '-4060': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20676
- '-4061': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20677
- '-4062': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20595
+ //
20596
+ // 4xxx
20597
+ //
20678
20598
  '-4063': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20679
20599
  '-4064': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20680
20600
  '-4065': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20681
20601
  '-4066': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20682
- '-4067': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20683
- '-4068': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20684
20602
  '-4069': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20685
20603
  '-4070': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20686
20604
  '-4071': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
@@ -20694,36 +20612,183 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
20694
20612
  '-4079': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20695
20613
  '-4080': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20696
20614
  '-4081': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20697
- '-4082': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20698
- '-4083': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20699
- '-4084': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20700
20615
  '-4085': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20701
20616
  '-4086': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20702
20617
  '-4087': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20703
20618
  '-4088': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
20704
- '-4104': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20705
20619
  '-4114': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20706
20620
  '-4115': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20707
20621
  '-4118': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20708
20622
  '-4131': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20709
- '-4135': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20710
- '-4137': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20711
- '-4138': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20712
- '-4139': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20713
20623
  '-4140': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20714
20624
  '-4141': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20715
- '-4142': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderImmediatelyFillable,
20716
20625
  '-4144': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
20717
20626
  '-4161': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20718
20627
  '-4164': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationRejected,
20719
20628
  '-4165': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20720
20629
  '-4183': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20721
20630
  '-4184': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
20631
+ //
20632
+ // 5xxx
20633
+ //
20722
20634
  '-5021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFillable,
20723
- '-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
20724
20656
  },
20725
20657
  },
20726
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
+ //
20727
20792
  'System is under maintenance.': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OnMaintenance,
20728
20793
  'System abnormality': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OperationFailed,
20729
20794
  'You are not authorized to execute this request.': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -22547,7 +22612,7 @@ class binance extends _abstract_binance_js__WEBPACK_IMPORTED_MODULE_0__/* ["defa
22547
22612
  const inverse = this.safeBool(market, 'inverse');
22548
22613
  const volumeIndex = inverse ? 7 : 5;
22549
22614
  return [
22550
- this.safeInteger2(ohlcv, 0, 'closeTime'),
22615
+ this.safeInteger2(ohlcv, 0, 'openTime'),
22551
22616
  this.safeNumber2(ohlcv, 1, 'open'),
22552
22617
  this.safeNumber2(ohlcv, 2, 'high'),
22553
22618
  this.safeNumber2(ohlcv, 3, 'low'),
@@ -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,
@@ -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) {
@@ -91451,11 +91570,15 @@ class bybit extends _abstract_bybit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
91451
91570
  const tier = info[i];
91452
91571
  const marketId = this.safeString(info, 'symbol');
91453
91572
  market = this.safeMarket(marketId);
91573
+ let minNotional = this.parseNumber('0');
91574
+ if (i !== 0) {
91575
+ minNotional = this.safeNumber(info[i - 1], 'riskLimitValue');
91576
+ }
91454
91577
  tiers.push({
91455
91578
  'tier': this.safeInteger(tier, 'id'),
91456
91579
  'currency': market['settle'],
91457
- 'minNotional': undefined,
91458
- 'maxNotional': undefined,
91580
+ 'minNotional': minNotional,
91581
+ 'maxNotional': this.safeNumber(tier, 'riskLimitValue'),
91459
91582
  'maintenanceMarginRate': this.safeNumber(tier, 'maintenanceMargin'),
91460
91583
  'maxLeverage': this.safeNumber(tier, 'maxLeverage'),
91461
91584
  'info': tier,
@@ -94405,7 +94528,10 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94405
94528
  * @returns {object[]} an array of objects representing market data
94406
94529
  */
94407
94530
  const method = this.safeString(this.options, 'fetchMarkets', 'fetchMarketsV3');
94408
- return await this[method](params);
94531
+ if (method === 'fetchMarketsV3') {
94532
+ return await this.fetchMarketsV3(params);
94533
+ }
94534
+ return await this.fetchMarketsV2(params);
94409
94535
  }
94410
94536
  async fetchMarketsV2(params = {}) {
94411
94537
  const response = await this.fetchCurrenciesFromCache(params);
@@ -94480,7 +94606,13 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94480
94606
  return result;
94481
94607
  }
94482
94608
  async fetchMarketsV3(params = {}) {
94483
- const response = await this.v3PrivateGetBrokerageProducts(params);
94609
+ const promisesUnresolved = [
94610
+ this.v3PrivateGetBrokerageProducts(params),
94611
+ this.v3PrivateGetBrokerageTransactionSummary(params),
94612
+ ];
94613
+ // const response = await this.v3PrivateGetBrokerageProducts (params);
94614
+ const promises = await Promise.all(promisesUnresolved);
94615
+ const response = this.safeDict(promises, 0, {});
94484
94616
  //
94485
94617
  // [
94486
94618
  // {
@@ -94515,7 +94647,8 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
94515
94647
  // ...
94516
94648
  // ]
94517
94649
  //
94518
- const fees = await this.v3PrivateGetBrokerageTransactionSummary(params);
94650
+ // const fees = await this.v3PrivateGetBrokerageTransactionSummary (params);
94651
+ const fees = this.safeDict(promises, 1, {});
94519
94652
  //
94520
94653
  // {
94521
94654
  // "total_volume": 0,
@@ -95232,6 +95365,9 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95232
95365
  const response = await this.v2PrivateGetAccountsAccountIdTransactions(this.extend(request, params));
95233
95366
  const ledger = this.parseLedger(response['data'], currency, since, limit);
95234
95367
  const length = ledger.length;
95368
+ if (length === 0) {
95369
+ return ledger;
95370
+ }
95235
95371
  const lastIndex = length - 1;
95236
95372
  const last = this.safeDict(ledger, lastIndex);
95237
95373
  const pagination = this.safeDict(response, 'pagination', {});
@@ -95571,9 +95707,9 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95571
95707
  'fee': fee,
95572
95708
  };
95573
95709
  }
95574
- async findAccountId(code) {
95710
+ async findAccountId(code, params = {}) {
95575
95711
  await this.loadMarkets();
95576
- await this.loadAccounts();
95712
+ await this.loadAccounts(false, params);
95577
95713
  for (let i = 0; i < this.accounts.length; i++) {
95578
95714
  const account = this.accounts[i];
95579
95715
  if (account['code'] === code) {
@@ -95602,7 +95738,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
95602
95738
  if (code === undefined) {
95603
95739
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' prepareAccountRequestWithCurrencyCode() method requires an account_id (or accountId) parameter OR a currency code argument');
95604
95740
  }
95605
- accountId = await this.findAccountId(code);
95741
+ accountId = await this.findAccountId(code, params);
95606
95742
  if (accountId === undefined) {
95607
95743
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' prepareAccountRequestWithCurrencyCode() could not find account id for ' + code);
95608
95744
  }
@@ -96219,7 +96355,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96219
96355
  let paginate = false;
96220
96356
  [paginate, params] = this.handleOptionAndParams(params, 'fetchOrders', 'paginate');
96221
96357
  if (paginate) {
96222
- return await this.fetchPaginatedCallCursor('fetchOrders', symbol, since, limit, params, 'cursor', 'cursor', undefined, 100);
96358
+ return await this.fetchPaginatedCallCursor('fetchOrders', symbol, since, limit, params, 'cursor', 'cursor', undefined, 1000);
96223
96359
  }
96224
96360
  let market = undefined;
96225
96361
  if (symbol !== undefined) {
@@ -96746,7 +96882,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96746
96882
  if (code === undefined) {
96747
96883
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' withdraw() requires an account_id (or accountId) parameter OR a currency code argument');
96748
96884
  }
96749
- accountId = await this.findAccountId(code);
96885
+ accountId = await this.findAccountId(code, params);
96750
96886
  if (accountId === undefined) {
96751
96887
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' withdraw() could not find account id for ' + code);
96752
96888
  }
@@ -96971,7 +97107,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
96971
97107
  if (code === undefined) {
96972
97108
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' deposit() requires an account_id (or accountId) parameter OR a currency code argument');
96973
97109
  }
96974
- accountId = await this.findAccountId(code);
97110
+ accountId = await this.findAccountId(code, params);
96975
97111
  if (accountId === undefined) {
96976
97112
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' deposit() could not find account id for ' + code);
96977
97113
  }
@@ -97041,7 +97177,7 @@ class coinbase extends _abstract_coinbase_js__WEBPACK_IMPORTED_MODULE_0__/* ["de
97041
97177
  if (code === undefined) {
97042
97178
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ArgumentsRequired(this.id + ' fetchDeposit() requires an account_id (or accountId) parameter OR a currency code argument');
97043
97179
  }
97044
- accountId = await this.findAccountId(code);
97180
+ accountId = await this.findAccountId(code, params);
97045
97181
  if (accountId === undefined) {
97046
97182
  throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError(this.id + ' fetchDeposit() could not find account id for ' + code);
97047
97183
  }
@@ -122057,7 +122193,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122057
122193
  */
122058
122194
  const response = await this.publicGetSettings(params);
122059
122195
  // full response sample under `fetchStatus`
122060
- const result = this.safeValue(response, 'result', {});
122196
+ const result = this.safeDict(response, 'result', {});
122061
122197
  return this.safeIntegerProduct(result, 'server_time', 0.001);
122062
122198
  }
122063
122199
  async fetchStatus(params = {}) {
@@ -122122,7 +122258,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122122
122258
  // "success": true
122123
122259
  // }
122124
122260
  //
122125
- const result = this.safeValue(response, 'result', {});
122261
+ const result = this.safeDict(response, 'result', {});
122126
122262
  const underMaintenance = this.safeString(result, 'under_maintenance');
122127
122263
  const status = (underMaintenance === 'true') ? 'maintenance' : 'ok';
122128
122264
  const updated = this.safeIntegerProduct(result, 'server_time', 0.001, this.milliseconds());
@@ -122174,7 +122310,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122174
122310
  // "success":true
122175
122311
  // }
122176
122312
  //
122177
- const currencies = this.safeValue(response, 'result', []);
122313
+ const currencies = this.safeList(response, 'result', []);
122178
122314
  const result = {};
122179
122315
  for (let i = 0; i < currencies.length; i++) {
122180
122316
  const currency = currencies[i];
@@ -122211,16 +122347,33 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122211
122347
  }
122212
122348
  async loadMarkets(reload = false, params = {}) {
122213
122349
  const markets = await super.loadMarkets(reload, params);
122214
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId');
122350
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId');
122215
122351
  if ((currenciesByNumericId === undefined) || reload) {
122216
- this.options['currenciesByNumericId'] = this.indexBy(this.currencies, 'numericId');
122352
+ this.options['currenciesByNumericId'] = this.indexByStringifiedNumericId(this.currencies);
122217
122353
  }
122218
- const marketsByNumericId = this.safeValue(this.options, 'marketsByNumericId');
122354
+ const marketsByNumericId = this.safeDict(this.options, 'marketsByNumericId');
122219
122355
  if ((marketsByNumericId === undefined) || reload) {
122220
- this.options['marketsByNumericId'] = this.indexBy(this.markets, 'numericId');
122356
+ this.options['marketsByNumericId'] = this.indexByStringifiedNumericId(this.markets);
122221
122357
  }
122222
122358
  return markets;
122223
122359
  }
122360
+ indexByStringifiedNumericId(input) {
122361
+ const result = {};
122362
+ if (input === undefined) {
122363
+ return undefined;
122364
+ }
122365
+ const keys = Object.keys(input);
122366
+ for (let i = 0; i < keys.length; i++) {
122367
+ const key = keys[i];
122368
+ const item = input[key];
122369
+ const numericIdString = this.safeString(item, 'numericId');
122370
+ if (numericIdString === undefined) {
122371
+ continue;
122372
+ }
122373
+ result[numericIdString] = item;
122374
+ }
122375
+ return result;
122376
+ }
122224
122377
  async fetchMarkets(params = {}) {
122225
122378
  /**
122226
122379
  * @method
@@ -122409,7 +122562,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122409
122562
  // "success":true
122410
122563
  // }
122411
122564
  //
122412
- const markets = this.safeValue(response, 'result', []);
122565
+ const markets = this.safeList(response, 'result', []);
122413
122566
  const result = [];
122414
122567
  for (let i = 0; i < markets.length; i++) {
122415
122568
  const market = markets[i];
@@ -122418,10 +122571,10 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122418
122571
  continue;
122419
122572
  }
122420
122573
  // const settlingAsset = this.safeValue (market, 'settling_asset', {});
122421
- const quotingAsset = this.safeValue(market, 'quoting_asset', {});
122422
- const underlyingAsset = this.safeValue(market, 'underlying_asset', {});
122423
- const settlingAsset = this.safeValue(market, 'settling_asset');
122424
- const productSpecs = this.safeValue(market, 'product_specs', {});
122574
+ const quotingAsset = this.safeDict(market, 'quoting_asset', {});
122575
+ const underlyingAsset = this.safeDict(market, 'underlying_asset', {});
122576
+ const settlingAsset = this.safeDict(market, 'settling_asset');
122577
+ const productSpecs = this.safeDict(market, 'product_specs', {});
122425
122578
  const baseId = this.safeString(underlyingAsset, 'symbol');
122426
122579
  const quoteId = this.safeString(quotingAsset, 'symbol');
122427
122580
  const settleId = this.safeString(settlingAsset, 'symbol');
@@ -122654,7 +122807,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122654
122807
  const marketId = this.safeString(ticker, 'symbol');
122655
122808
  const symbol = this.safeSymbol(marketId, market);
122656
122809
  const last = this.safeString(ticker, 'close');
122657
- const quotes = this.safeValue(ticker, 'quotes', {});
122810
+ const quotes = this.safeDict(ticker, 'quotes', {});
122658
122811
  return this.safeTicker({
122659
122812
  'symbol': symbol,
122660
122813
  'timestamp': timestamp,
@@ -122818,7 +122971,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122818
122971
  // "success": true
122819
122972
  // }
122820
122973
  //
122821
- const result = this.safeValue(response, 'result', {});
122974
+ const result = this.safeDict(response, 'result', {});
122822
122975
  return this.parseTicker(result, market);
122823
122976
  }
122824
122977
  async fetchTickers(symbols = undefined, params = {}) {
@@ -122964,7 +123117,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
122964
123117
  // "success":true
122965
123118
  // }
122966
123119
  //
122967
- const tickers = this.safeValue(response, 'result', []);
123120
+ const tickers = this.safeList(response, 'result', []);
122968
123121
  const result = {};
122969
123122
  for (let i = 0; i < tickers.length; i++) {
122970
123123
  const ticker = this.parseTicker(tickers[i]);
@@ -123011,7 +123164,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123011
123164
  // "success":true
123012
123165
  // }
123013
123166
  //
123014
- const result = this.safeValue(response, 'result', {});
123167
+ const result = this.safeDict(response, 'result', {});
123015
123168
  return this.parseOrderBook(result, market['symbol'], undefined, 'buy', 'sell', 'price', 'size');
123016
123169
  }
123017
123170
  parseTrade(trade, market = undefined) {
@@ -123068,7 +123221,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123068
123221
  timestamp = this.safeIntegerProduct(trade, 'timestamp', 0.001, timestamp);
123069
123222
  const priceString = this.safeString(trade, 'price');
123070
123223
  const amountString = this.safeString(trade, 'size');
123071
- const product = this.safeValue(trade, 'product', {});
123224
+ const product = this.safeDict(trade, 'product', {});
123072
123225
  const marketId = this.safeString(product, 'symbol');
123073
123226
  const symbol = this.safeSymbol(marketId, market);
123074
123227
  const sellerRole = this.safeString(trade, 'seller_role');
@@ -123082,7 +123235,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123082
123235
  }
123083
123236
  }
123084
123237
  const takerOrMaker = this.safeString(trade, 'role');
123085
- const metaData = this.safeValue(trade, 'meta_data', {});
123238
+ const metaData = this.safeDict(trade, 'meta_data', {});
123086
123239
  let type = this.safeString(metaData, 'order_type');
123087
123240
  if (type !== undefined) {
123088
123241
  type = type.replace('_order', '');
@@ -123090,7 +123243,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123090
123243
  const feeCostString = this.safeString(trade, 'commission');
123091
123244
  let fee = undefined;
123092
123245
  if (feeCostString !== undefined) {
123093
- const settlingAsset = this.safeValue(product, 'settling_asset', {});
123246
+ const settlingAsset = this.safeDict(product, 'settling_asset', {});
123094
123247
  const feeCurrencyId = this.safeString(settlingAsset, 'symbol');
123095
123248
  const feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
123096
123249
  fee = {
@@ -123147,7 +123300,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123147
123300
  // "success":true
123148
123301
  // }
123149
123302
  //
123150
- const result = this.safeValue(response, 'result', []);
123303
+ const result = this.safeList(response, 'result', []);
123151
123304
  return this.parseTrades(result, market, since, limit);
123152
123305
  }
123153
123306
  parseOHLCV(ohlcv, market = undefined) {
@@ -123222,17 +123375,17 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123222
123375
  // ]
123223
123376
  // }
123224
123377
  //
123225
- const result = this.safeValue(response, 'result', []);
123378
+ const result = this.safeList(response, 'result', []);
123226
123379
  return this.parseOHLCVs(result, market, timeframe, since, limit);
123227
123380
  }
123228
123381
  parseBalance(response) {
123229
- const balances = this.safeValue(response, 'result', []);
123382
+ const balances = this.safeList(response, 'result', []);
123230
123383
  const result = { 'info': response };
123231
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId', {});
123384
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId', {});
123232
123385
  for (let i = 0; i < balances.length; i++) {
123233
123386
  const balance = balances[i];
123234
123387
  const currencyId = this.safeString(balance, 'asset_id');
123235
- const currency = this.safeValue(currenciesByNumericId, currencyId);
123388
+ const currency = this.safeDict(currenciesByNumericId, currencyId);
123236
123389
  const code = (currency === undefined) ? currencyId : currency['code'];
123237
123390
  const account = this.account();
123238
123391
  account['total'] = this.safeString(balance, 'balance');
@@ -123301,7 +123454,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123301
123454
  // "success":true
123302
123455
  // }
123303
123456
  //
123304
- const result = this.safeValue(response, 'result', {});
123457
+ const result = this.safeDict(response, 'result', {});
123305
123458
  return this.parsePosition(result, market);
123306
123459
  }
123307
123460
  async fetchPositions(symbols = undefined, params = {}) {
@@ -123337,7 +123490,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123337
123490
  // ]
123338
123491
  // }
123339
123492
  //
123340
- const result = this.safeValue(response, 'result', []);
123493
+ const result = this.safeList(response, 'result', []);
123341
123494
  return this.parsePositions(result, symbols);
123342
123495
  }
123343
123496
  parsePosition(position, market = undefined) {
@@ -123459,7 +123612,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123459
123612
  const clientOrderId = this.safeString(order, 'client_order_id');
123460
123613
  const timestamp = this.parse8601(this.safeString(order, 'created_at'));
123461
123614
  const marketId = this.safeString(order, 'product_id');
123462
- const marketsByNumericId = this.safeValue(this.options, 'marketsByNumericId', {});
123615
+ const marketsByNumericId = this.safeDict(this.options, 'marketsByNumericId', {});
123463
123616
  market = this.safeValue(marketsByNumericId, marketId, market);
123464
123617
  const symbol = (market === undefined) ? marketId : market['symbol'];
123465
123618
  const status = this.parseOrderStatus(this.safeString(order, 'state'));
@@ -123475,7 +123628,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123475
123628
  if (feeCostString !== undefined) {
123476
123629
  let feeCurrencyCode = undefined;
123477
123630
  if (market !== undefined) {
123478
- const settlingAsset = this.safeValue(market['info'], 'settling_asset', {});
123631
+ const settlingAsset = this.safeDict(market['info'], 'settling_asset', {});
123479
123632
  const feeCurrencyId = this.safeString(settlingAsset, 'symbol');
123480
123633
  feeCurrencyCode = this.safeCurrencyCode(feeCurrencyId);
123481
123634
  }
@@ -123542,7 +123695,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123542
123695
  if (clientOrderId !== undefined) {
123543
123696
  request['client_order_id'] = clientOrderId;
123544
123697
  }
123545
- const reduceOnly = this.safeValue(params, 'reduceOnly');
123698
+ const reduceOnly = this.safeBool(params, 'reduceOnly');
123546
123699
  if (reduceOnly) {
123547
123700
  request['reduce_only'] = reduceOnly;
123548
123701
  params = this.omit(params, 'reduceOnly');
@@ -123584,7 +123737,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123584
123737
  // "success":true
123585
123738
  // }
123586
123739
  //
123587
- const result = this.safeValue(response, 'result', {});
123740
+ const result = this.safeDict(response, 'result', {});
123588
123741
  return this.parseOrder(result, market);
123589
123742
  }
123590
123743
  async editOrder(id, symbol, type, side, amount = undefined, price = undefined, params = {}) {
@@ -123634,7 +123787,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123634
123787
  // }
123635
123788
  // }
123636
123789
  //
123637
- const result = this.safeValue(response, 'result');
123790
+ const result = this.safeDict(response, 'result');
123638
123791
  return this.parseOrder(result, market);
123639
123792
  }
123640
123793
  async cancelOrder(id, symbol = undefined, params = {}) {
@@ -123694,7 +123847,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123694
123847
  // "success":true
123695
123848
  // }
123696
123849
  //
123697
- const result = this.safeValue(response, 'result');
123850
+ const result = this.safeDict(response, 'result');
123698
123851
  return this.parseOrder(result, market);
123699
123852
  }
123700
123853
  async cancelAllOrders(symbol = undefined, params = {}) {
@@ -123807,7 +123960,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123807
123960
  // }
123808
123961
  // }
123809
123962
  //
123810
- const result = this.safeValue(response, 'result', []);
123963
+ const result = this.safeList(response, 'result', []);
123811
123964
  return this.parseOrders(result, market, since, limit);
123812
123965
  }
123813
123966
  async fetchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
@@ -123889,7 +124042,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123889
124042
  // "success":true
123890
124043
  // }
123891
124044
  //
123892
- const result = this.safeValue(response, 'result', []);
124045
+ const result = this.safeList(response, 'result', []);
123893
124046
  return this.parseTrades(result, market, since, limit);
123894
124047
  }
123895
124048
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
@@ -123942,7 +124095,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123942
124095
  // "success":true
123943
124096
  // }
123944
124097
  //
123945
- const result = this.safeValue(response, 'result', []);
124098
+ const result = this.safeList(response, 'result', []);
123946
124099
  return this.parseLedger(result, currency, since, limit);
123947
124100
  }
123948
124101
  parseLedgerEntryType(type) {
@@ -123979,7 +124132,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123979
124132
  const id = this.safeString(item, 'uuid');
123980
124133
  let direction = undefined;
123981
124134
  const account = undefined;
123982
- const metaData = this.safeValue(item, 'meta_data', {});
124135
+ const metaData = this.safeDict(item, 'meta_data', {});
123983
124136
  const referenceId = this.safeString(metaData, 'transaction_id');
123984
124137
  const referenceAccount = undefined;
123985
124138
  let type = this.safeString(item, 'transaction_type');
@@ -123990,8 +124143,8 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
123990
124143
  direction = 'out';
123991
124144
  }
123992
124145
  type = this.parseLedgerEntryType(type);
123993
- const currencyId = this.safeInteger(item, 'asset_id');
123994
- const currenciesByNumericId = this.safeValue(this.options, 'currenciesByNumericId');
124146
+ const currencyId = this.safeString(item, 'asset_id');
124147
+ const currenciesByNumericId = this.safeDict(this.options, 'currenciesByNumericId');
123995
124148
  currency = this.safeValue(currenciesByNumericId, currencyId, currency);
123996
124149
  const code = (currency === undefined) ? undefined : currency['code'];
123997
124150
  const amount = this.safeString(item, 'amount');
@@ -124055,7 +124208,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124055
124208
  // }
124056
124209
  // }
124057
124210
  //
124058
- const result = this.safeValue(response, 'result', {});
124211
+ const result = this.safeDict(response, 'result', {});
124059
124212
  return this.parseDepositAddress(result, currency);
124060
124213
  }
124061
124214
  parseDepositAddress(depositAddress, currency = undefined) {
@@ -124149,7 +124302,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124149
124302
  // "success": true
124150
124303
  // }
124151
124304
  //
124152
- const result = this.safeValue(response, 'result', {});
124305
+ const result = this.safeDict(response, 'result', {});
124153
124306
  return this.parseFundingRate(result, market);
124154
124307
  }
124155
124308
  async fetchFundingRates(symbols = undefined, params = {}) {
@@ -124215,7 +124368,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124215
124368
  // "success":true
124216
124369
  // }
124217
124370
  //
124218
- const rates = this.safeValue(response, 'result', []);
124371
+ const rates = this.safeList(response, 'result', []);
124219
124372
  const result = this.parseFundingRates(rates);
124220
124373
  return this.filterByArray(result, 'symbol', symbols);
124221
124374
  }
@@ -124347,7 +124500,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124347
124500
  // "success": true
124348
124501
  // }
124349
124502
  //
124350
- const result = this.safeValue(response, 'result', {});
124503
+ const result = this.safeDict(response, 'result', {});
124351
124504
  return this.parseMarginModification(result, market);
124352
124505
  }
124353
124506
  parseMarginModification(data, market = undefined) {
@@ -124454,7 +124607,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124454
124607
  // "success": true
124455
124608
  // }
124456
124609
  //
124457
- const result = this.safeValue(response, 'result', {});
124610
+ const result = this.safeDict(response, 'result', {});
124458
124611
  return this.parseOpenInterest(result, market);
124459
124612
  }
124460
124613
  parseOpenInterest(interest, market = undefined) {
@@ -124678,7 +124831,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124678
124831
  // "success": true
124679
124832
  // }
124680
124833
  //
124681
- const result = this.safeValue(response, 'result', []);
124834
+ const result = this.safeList(response, 'result', []);
124682
124835
  const settlements = this.parseSettlements(result, market);
124683
124836
  const sorted = this.sortBy(settlements, 'timestamp');
124684
124837
  return this.filterBySymbolSinceLimit(sorted, market['symbol'], since, limit);
@@ -124822,7 +124975,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124822
124975
  // "success": true
124823
124976
  // }
124824
124977
  //
124825
- const result = this.safeValue(response, 'result', {});
124978
+ const result = this.safeDict(response, 'result', {});
124826
124979
  return this.parseGreeks(result, market);
124827
124980
  }
124828
124981
  parseGreeks(greeks, market = undefined) {
@@ -124878,8 +125031,8 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124878
125031
  const timestamp = this.safeIntegerProduct(greeks, 'timestamp', 0.001);
124879
125032
  const marketId = this.safeString(greeks, 'symbol');
124880
125033
  const symbol = this.safeSymbol(marketId, market);
124881
- const stats = this.safeValue(greeks, 'greeks', {});
124882
- const quotes = this.safeValue(greeks, 'quotes', {});
125034
+ const stats = this.safeDict(greeks, 'greeks', {});
125035
+ const quotes = this.safeDict(greeks, 'quotes', {});
124883
125036
  return {
124884
125037
  'symbol': symbol,
124885
125038
  'timestamp': timestamp,
@@ -124922,7 +125075,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
124922
125075
  //
124923
125076
  // {"result":{},"success":true}
124924
125077
  //
124925
- const position = this.parsePosition(this.safeValue(response, 'result', {}));
125078
+ const position = this.parsePosition(this.safeDict(response, 'result', {}));
124926
125079
  return [position];
124927
125080
  }
124928
125081
  async fetchMarginMode(symbol, params = {}) {
@@ -125059,7 +125212,7 @@ class delta extends _abstract_delta_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"
125059
125212
  //
125060
125213
  // {"error":{"code":"insufficient_margin","context":{"available_balance":"0.000000000000000000","required_additional_balance":"1.618626000000000000000000000"}},"success":false}
125061
125214
  //
125062
- const error = this.safeValue(response, 'error', {});
125215
+ const error = this.safeDict(response, 'error', {});
125063
125216
  const errorCode = this.safeString(error, 'code');
125064
125217
  if (errorCode !== undefined) {
125065
125218
  const feedback = this.id + ' ' + body;
@@ -135727,6 +135880,7 @@ class gate extends _abstract_gate_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"]
135727
135880
  'rebate': 'https://api.gateio.ws/api/v4',
135728
135881
  'earn': 'https://api.gateio.ws/api/v4',
135729
135882
  'account': 'https://api.gateio.ws/api/v4',
135883
+ 'loan': 'https://api.gateio.ws/api/v4',
135730
135884
  },
135731
135885
  },
135732
135886
  'test': {
@@ -153449,42 +153603,47 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153449
153603
  // 'from': parseInt ((since / 1000).toString ()), spot only
153450
153604
  // 'to': this.seconds (), spot only
153451
153605
  };
153452
- const price = this.safeString(params, 'price');
153453
- params = this.omit(params, 'price');
153606
+ const priceType = this.safeStringN(params, ['priceType', 'price']);
153607
+ params = this.omit(params, ['priceType', 'price']);
153608
+ let until = undefined;
153609
+ [until, params] = this.handleParamInteger(params, 'until');
153610
+ const untilSeconds = (until !== undefined) ? this.parseToInt(until / 1000) : undefined;
153454
153611
  if (market['contract']) {
153455
153612
  if (limit !== undefined) {
153456
- request['size'] = limit; // when using limit from and to are ignored
153613
+ request['size'] = limit; // when using limit: from & to are ignored
153457
153614
  // https://huobiapi.github.io/docs/usdt_swap/v1/en/#general-get-kline-data
153458
153615
  }
153459
153616
  else {
153460
153617
  limit = 2000; // only used for from/to calculation
153461
153618
  }
153462
- if (price === undefined) {
153619
+ if (priceType === undefined) {
153463
153620
  const duration = this.parseTimeframe(timeframe);
153621
+ let calcualtedEnd = undefined;
153464
153622
  if (since === undefined) {
153465
153623
  const now = this.seconds();
153466
153624
  request['from'] = now - duration * (limit - 1);
153467
- request['to'] = now;
153625
+ calcualtedEnd = now;
153468
153626
  }
153469
153627
  else {
153470
153628
  const start = this.parseToInt(since / 1000);
153471
153629
  request['from'] = start;
153472
- request['to'] = this.sum(start, duration * (limit - 1));
153630
+ calcualtedEnd = this.sum(start, duration * (limit - 1));
153473
153631
  }
153632
+ request['to'] = (untilSeconds !== undefined) ? untilSeconds : calcualtedEnd;
153474
153633
  }
153475
153634
  }
153476
153635
  let response = undefined;
153477
153636
  if (market['future']) {
153478
153637
  if (market['inverse']) {
153479
153638
  request['symbol'] = market['id'];
153480
- if (price === 'mark') {
153639
+ if (priceType === 'mark') {
153481
153640
  response = await this.contractPublicGetIndexMarketHistoryMarkPriceKline(this.extend(request, params));
153482
153641
  }
153483
- else if (price === 'index') {
153642
+ else if (priceType === 'index') {
153484
153643
  response = await this.contractPublicGetIndexMarketHistoryIndex(this.extend(request, params));
153485
153644
  }
153486
- else if (price === 'premiumIndex') {
153487
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + price + ' kline data');
153645
+ else if (priceType === 'premiumIndex') {
153646
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + priceType + ' kline data');
153488
153647
  }
153489
153648
  else {
153490
153649
  response = await this.contractPublicGetMarketHistoryKline(this.extend(request, params));
@@ -153492,13 +153651,13 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153492
153651
  }
153493
153652
  else if (market['linear']) {
153494
153653
  request['contract_code'] = market['id'];
153495
- if (price === 'mark') {
153654
+ if (priceType === 'mark') {
153496
153655
  response = await this.contractPublicGetIndexMarketHistoryLinearSwapMarkPriceKline(this.extend(request, params));
153497
153656
  }
153498
- else if (price === 'index') {
153499
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + price + ' kline data');
153657
+ else if (priceType === 'index') {
153658
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + priceType + ' kline data');
153500
153659
  }
153501
- else if (price === 'premiumIndex') {
153660
+ else if (priceType === 'premiumIndex') {
153502
153661
  response = await this.contractPublicGetIndexMarketHistoryLinearSwapPremiumIndexKline(this.extend(request, params));
153503
153662
  }
153504
153663
  else {
@@ -153509,13 +153668,13 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153509
153668
  else if (market['swap']) {
153510
153669
  request['contract_code'] = market['id'];
153511
153670
  if (market['inverse']) {
153512
- if (price === 'mark') {
153671
+ if (priceType === 'mark') {
153513
153672
  response = await this.contractPublicGetIndexMarketHistorySwapMarkPriceKline(this.extend(request, params));
153514
153673
  }
153515
- else if (price === 'index') {
153516
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + price + ' kline data');
153674
+ else if (priceType === 'index') {
153675
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + priceType + ' kline data');
153517
153676
  }
153518
- else if (price === 'premiumIndex') {
153677
+ else if (priceType === 'premiumIndex') {
153519
153678
  response = await this.contractPublicGetIndexMarketHistorySwapPremiumIndexKline(this.extend(request, params));
153520
153679
  }
153521
153680
  else {
@@ -153523,13 +153682,13 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153523
153682
  }
153524
153683
  }
153525
153684
  else if (market['linear']) {
153526
- if (price === 'mark') {
153685
+ if (priceType === 'mark') {
153527
153686
  response = await this.contractPublicGetIndexMarketHistoryLinearSwapMarkPriceKline(this.extend(request, params));
153528
153687
  }
153529
- else if (price === 'index') {
153530
- throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + price + ' kline data');
153688
+ else if (priceType === 'index') {
153689
+ throw new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest(this.id + ' ' + market['type'] + ' has no api endpoint for ' + priceType + ' kline data');
153531
153690
  }
153532
- else if (price === 'premiumIndex') {
153691
+ else if (priceType === 'premiumIndex') {
153533
153692
  response = await this.contractPublicGetIndexMarketHistoryLinearSwapPremiumIndexKline(this.extend(request, params));
153534
153693
  }
153535
153694
  else {
@@ -153542,18 +153701,22 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153542
153701
  let useHistorical = undefined;
153543
153702
  [useHistorical, params] = this.handleOptionAndParams(params, 'fetchOHLCV', 'useHistoricalEndpointForSpot', true);
153544
153703
  if (!useHistorical) {
153545
- // `limit` only available for the this endpoint
153546
153704
  if (limit !== undefined) {
153547
- request['size'] = limit; // max 2000
153705
+ request['size'] = Math.min(2000, limit); // max 2000
153548
153706
  }
153549
153707
  response = await this.spotPublicGetMarketHistoryKline(this.extend(request, params));
153550
153708
  }
153551
153709
  else {
153552
- // `since` only available for the this endpoint
153710
+ // "from & to" only available for the this endpoint
153553
153711
  if (since !== undefined) {
153554
- // default 150 bars
153555
153712
  request['from'] = this.parseToInt(since / 1000);
153556
153713
  }
153714
+ if (untilSeconds !== undefined) {
153715
+ request['to'] = untilSeconds;
153716
+ }
153717
+ if (limit !== undefined) {
153718
+ request['size'] = Math.min(1000, limit); // max 1000, otherwise default returns 150
153719
+ }
153557
153720
  response = await this.spotPublicGetMarketHistoryCandles(this.extend(request, params));
153558
153721
  }
153559
153722
  }
@@ -153569,7 +153732,7 @@ class htx extends _abstract_htx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
153569
153732
  // ]
153570
153733
  // }
153571
153734
  //
153572
- const data = this.safeValue(response, 'data', []);
153735
+ const data = this.safeList(response, 'data', []);
153573
153736
  return this.parseOHLCVs(data, market, timeframe, since, limit);
153574
153737
  }
153575
153738
  async fetchAccounts(params = {}) {
@@ -162184,7 +162347,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162184
162347
  // }
162185
162348
  //
162186
162349
  return [
162187
- this.safeInteger(ohlcv, 'T'),
162350
+ this.safeInteger(ohlcv, 't'),
162188
162351
  this.safeNumber(ohlcv, 'o'),
162189
162352
  this.safeNumber(ohlcv, 'h'),
162190
162353
  this.safeNumber(ohlcv, 'l'),
@@ -162390,8 +162553,9 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162390
162553
  * @param {bool} [params.postOnly] true or false whether the order is post-only
162391
162554
  * @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
162392
162555
  * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
162393
- * @param {string} [params.clientOrderId] client order id, optional 128 bit hex string
162556
+ * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
162394
162557
  * @param {string} [params.slippage] the slippage for market order
162558
+ * @param {string} [params.vaultAddress] the vault address for order
162395
162559
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
162396
162560
  */
162397
162561
  await this.loadMarkets();
@@ -162441,7 +162605,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162441
162605
  }
162442
162606
  }
162443
162607
  }
162444
- params = this.omit(params, ['slippage', 'clientOrderId', 'client_id', 'slippage', 'triggerPrice', 'stopPrice', 'stopLossPrice', 'takeProfitPrice']);
162608
+ params = this.omit(params, ['slippage', 'clientOrderId', 'client_id', 'slippage', 'triggerPrice', 'stopPrice', 'stopLossPrice', 'takeProfitPrice', 'timeInForce']);
162445
162609
  const nonce = this.milliseconds();
162446
162610
  const orderReq = [];
162447
162611
  for (let i = 0; i < orders.length; i++) {
@@ -162568,7 +162732,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162568
162732
  * @param {string} id order id
162569
162733
  * @param {string} symbol unified symbol of the market the order was made in
162570
162734
  * @param {object} [params] extra parameters specific to the exchange API endpoint
162571
- * @param {string} [params.clientOrderId] client order id (default undefined)
162735
+ * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
162572
162736
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
162573
162737
  */
162574
162738
  return await this.cancelOrders([id], symbol, params);
@@ -162583,7 +162747,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162583
162747
  * @param {string[]} ids order ids
162584
162748
  * @param {string} [symbol] unified market symbol
162585
162749
  * @param {object} [params] extra parameters specific to the exchange API endpoint
162586
- * @param {string|string[]} [params.clientOrderId] client order ids (default undefined)
162750
+ * @param {string|string[]} [params.clientOrderId] client order ids, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
162587
162751
  * @returns {object} an list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
162588
162752
  */
162589
162753
  this.checkRequiredCredentials();
@@ -162666,6 +162830,7 @@ class hyperliquid extends _abstract_hyperliquid_js__WEBPACK_IMPORTED_MODULE_0__/
162666
162830
  * @param {bool} [params.reduceOnly] true or false whether the order is reduce-only
162667
162831
  * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
162668
162832
  * @param {string} [params.clientOrderId] client order id, (optional 128 bit hex string e.g. 0x1234567890abcdef1234567890abcdef)
162833
+ * @param {string} [params.vaultAddress] the vault address for order
162669
162834
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
162670
162835
  */
162671
162836
  this.checkRequiredCredentials();
@@ -168132,7 +168297,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168132
168297
  * @method
168133
168298
  * @name kraken#fetchMarkets
168134
168299
  * @description retrieves data on all markets for kraken
168135
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTradableAssetPairs
168300
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTradableAssetPairs
168136
168301
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168137
168302
  * @returns {object[]} an array of objects representing market data
168138
168303
  */
@@ -168319,7 +168484,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168319
168484
  * @method
168320
168485
  * @name kraken#fetchCurrencies
168321
168486
  * @description fetches all available currencies on an exchange
168322
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getAssetInfo
168487
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getAssetInfo
168323
168488
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168324
168489
  * @returns {object} an associative dictionary of currencies
168325
168490
  */
@@ -168447,7 +168612,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168447
168612
  * @method
168448
168613
  * @name kraken#fetchOrderBook
168449
168614
  * @description fetches information on open orders with bid (buy) and ask (sell) prices, volumes and other data
168450
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getOrderBook
168615
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getOrderBook
168451
168616
  * @param {string} symbol unified symbol of the market to fetch the order book for
168452
168617
  * @param {int} [limit] the maximum amount of order book entries to return
168453
168618
  * @param {object} [params] extra parameters specific to the exchange API endpoint
@@ -168549,7 +168714,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168549
168714
  * @method
168550
168715
  * @name kraken#fetchTickers
168551
168716
  * @description fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
168552
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTickerInformation
168717
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTickerInformation
168553
168718
  * @param {string[]|undefined} symbols unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
168554
168719
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168555
168720
  * @returns {object} a dictionary of [ticker structures]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -168586,7 +168751,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168586
168751
  * @method
168587
168752
  * @name kraken#fetchTicker
168588
168753
  * @description fetches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
168589
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getTickerInformation
168754
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getTickerInformation
168590
168755
  * @param {string} symbol unified symbol of the market to fetch the ticker for
168591
168756
  * @param {object} [params] extra parameters specific to the exchange API endpoint
168592
168757
  * @returns {object} a [ticker structure]{@link https://docs.ccxt.com/#/?id=ticker-structure}
@@ -168631,7 +168796,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168631
168796
  * @method
168632
168797
  * @name kraken#fetchOHLCV
168633
168798
  * @description fetches historical candlestick data containing the open, high, low, and close price, and the volume of a market
168634
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getOHLCData
168799
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getOHLCData
168635
168800
  * @param {string} symbol unified symbol of the market to fetch OHLCV data for
168636
168801
  * @param {string} timeframe the length of time each candle represents
168637
168802
  * @param {int} [since] timestamp in ms of the earliest candle to fetch
@@ -168929,7 +169094,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
168929
169094
  * @method
168930
169095
  * @name kraken#fetchTrades
168931
169096
  * @description get the list of most recent trades for a particular symbol
168932
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getRecentTrades
169097
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getRecentTrades
168933
169098
  * @param {string} symbol unified symbol of the market to fetch trades for
168934
169099
  * @param {int} [since] timestamp in ms of the earliest trade to fetch
168935
169100
  * @param {int} [limit] the maximum amount of trades to fetch
@@ -170093,7 +170258,7 @@ class kraken extends _abstract_kraken_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
170093
170258
  * @method
170094
170259
  * @name kraken#fetchTime
170095
170260
  * @description fetches the current integer timestamp in milliseconds from the exchange server
170096
- * @see https://docs.kraken.com/rest/#tag/Market-Data/operation/getServerTime
170261
+ * @see https://docs.kraken.com/rest/#tag/Spot-Market-Data/operation/getServerTime
170097
170262
  * @param {object} [params] extra parameters specific to the exchange API endpoint
170098
170263
  * @returns {int} the current integer timestamp in milliseconds from the exchange server
170099
170264
  */
@@ -173393,8 +173558,8 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173393
173558
  'fetchAccounts': true,
173394
173559
  'fetchBalance': true,
173395
173560
  'fetchBorrowInterest': true,
173396
- 'fetchBorrowRateHistories': false,
173397
- 'fetchBorrowRateHistory': false,
173561
+ 'fetchBorrowRateHistories': true,
173562
+ 'fetchBorrowRateHistory': true,
173398
173563
  'fetchClosedOrders': true,
173399
173564
  'fetchCrossBorrowRate': false,
173400
173565
  'fetchCrossBorrowRates': false,
@@ -173568,6 +173733,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173568
173733
  'isolated/account/{symbol}': 50,
173569
173734
  'margin/borrow': 15,
173570
173735
  'margin/repay': 15,
173736
+ 'margin/interest': 20,
173571
173737
  'project/list': 10,
173572
173738
  'project/marketInterestRate': 7.5,
173573
173739
  'redeem/orders': 10,
@@ -173786,6 +173952,56 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173786
173952
  '130202': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173787
173953
  '130203': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
173788
173954
  '130204': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
173955
+ '130301': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
173956
+ '130302': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
173957
+ '130303': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173958
+ '130304': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173959
+ '130305': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173960
+ '130306': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173961
+ '130307': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173962
+ '130308': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173963
+ '130309': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173964
+ '130310': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173965
+ '130311': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173966
+ '130312': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173967
+ '130313': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173968
+ '130314': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173969
+ '130315': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173970
+ '126000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173971
+ '126001': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173972
+ '126002': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173973
+ '126003': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173974
+ '126004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173975
+ '126005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
173976
+ '126006': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173977
+ '126007': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173978
+ '126009': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173979
+ '126010': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173980
+ '126011': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173981
+ '126013': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
173982
+ '126015': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173983
+ '126021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
173984
+ '126022': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173985
+ '126027': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173986
+ '126028': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173987
+ '126029': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173988
+ '126030': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173989
+ '126033': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173990
+ '126034': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173991
+ '126036': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173992
+ '126037': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173993
+ '126038': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173994
+ '126039': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173995
+ '126041': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173996
+ '126042': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173997
+ '126043': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.OrderNotFound,
173998
+ '126044': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173999
+ '126045': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
174000
+ '126046': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.NotSupported,
174001
+ '126047': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
174002
+ '126048': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
174003
+ '135005': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
174004
+ '135018': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.ExchangeError,
173789
174005
  '200004': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
173790
174006
  '210014': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173791
174007
  '210021': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InsufficientFunds,
@@ -173807,10 +174023,12 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173807
174023
  '400350': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173808
174024
  '400370': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173809
174025
  '400400': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
174026
+ '400401': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AuthenticationError,
173810
174027
  '400500': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173811
174028
  '400600': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadSymbol,
173812
174029
  '400760': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.InvalidOrder,
173813
174030
  '401000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
174031
+ '408000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
173814
174032
  '411100': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.AccountSuspended,
173815
174033
  '415000': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.BadRequest,
173816
174034
  '400303': _base_errors_js__WEBPACK_IMPORTED_MODULE_2__.PermissionDenied,
@@ -173929,6 +174147,7 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
173929
174147
  'margin/currencies': 'v3',
173930
174148
  'margin/borrow': 'v3',
173931
174149
  'margin/repay': 'v3',
174150
+ 'margin/interest': 'v3',
173932
174151
  'project/list': 'v3',
173933
174152
  'project/marketInterestRate': 'v3',
173934
174153
  'redeem/orders': 'v3',
@@ -177383,12 +177602,19 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
177383
177602
  // "timestamp": 1658531274508488480
177384
177603
  // },
177385
177604
  //
177386
- const timestampId = this.safeString(info, 'timestamp');
177387
- const timestamp = _base_Precise_js__WEBPACK_IMPORTED_MODULE_3__/* .Precise */ .O.stringMul(timestampId, '0.000001');
177605
+ // {
177606
+ // "createdAt": 1697783812257,
177607
+ // "currency": "XMR",
177608
+ // "interestAmount": "0.1",
177609
+ // "dayRatio": "0.001"
177610
+ // }
177611
+ //
177612
+ const timestampId = this.safeString2(info, 'createdAt', 'timestamp');
177613
+ const timestamp = this.parseToInt(timestampId.slice(0, 13));
177388
177614
  const currencyId = this.safeString(info, 'currency');
177389
177615
  return {
177390
177616
  'currency': this.safeCurrencyCode(currencyId, currency),
177391
- 'rate': this.safeNumber(info, 'dailyIntRate'),
177617
+ 'rate': this.safeNumber2(info, 'dailyIntRate', 'dayRatio'),
177392
177618
  'period': 86400000,
177393
177619
  'timestamp': timestamp,
177394
177620
  'datetime': this.iso8601(timestamp),
@@ -177572,6 +177798,144 @@ class kucoin extends _abstract_kucoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
177572
177798
  'info': info,
177573
177799
  };
177574
177800
  }
177801
+ async fetchBorrowRateHistories(codes = undefined, since = undefined, limit = undefined, params = {}) {
177802
+ /**
177803
+ * @method
177804
+ * @name kucoin#fetchBorrowRateHistories
177805
+ * @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
177806
+ * @see https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/get-cross-isolated-margin-interest-records
177807
+ * @param {string[]|undefined} codes list of unified currency codes, default is undefined
177808
+ * @param {int} [since] timestamp in ms of the earliest borrowRate, default is undefined
177809
+ * @param {int} [limit] max number of borrow rate prices to return, default is undefined
177810
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
177811
+ * @param {string} [params.marginMode] 'cross' or 'isolated' default is 'cross'
177812
+ * @param {int} [params.until] the latest time in ms to fetch entries for
177813
+ * @returns {object} a dictionary of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure} indexed by the market symbol
177814
+ */
177815
+ await this.loadMarkets();
177816
+ const marginResult = this.handleMarginModeAndParams('fetchBorrowRateHistories', params);
177817
+ const marginMode = this.safeString(marginResult, 0, 'cross');
177818
+ const isIsolated = (marginMode === 'isolated'); // true-isolated, false-cross
177819
+ let request = {
177820
+ 'isIsolated': isIsolated,
177821
+ };
177822
+ if (since !== undefined) {
177823
+ request['startTime'] = since;
177824
+ }
177825
+ [request, params] = this.handleUntilOption('endTime', request, params);
177826
+ if (limit !== undefined) {
177827
+ request['pageSize'] = limit; // default:50, min:10, max:500
177828
+ }
177829
+ const response = await this.privateGetMarginInterest(this.extend(request, params));
177830
+ //
177831
+ // {
177832
+ // "code": "200000",
177833
+ // "data": {
177834
+ // "timestamp": 1710829939673,
177835
+ // "currentPage": 1,
177836
+ // "pageSize": 50,
177837
+ // "totalNum": 0,
177838
+ // "totalPage": 0,
177839
+ // "items": [
177840
+ // {
177841
+ // "createdAt": 1697783812257,
177842
+ // "currency": "XMR",
177843
+ // "interestAmount": "0.1",
177844
+ // "dayRatio": "0.001"
177845
+ // }
177846
+ // ]
177847
+ // }
177848
+ // }
177849
+ //
177850
+ const data = this.safeDict(response, 'data');
177851
+ const rows = this.safeList(data, 'items');
177852
+ return this.parseBorrowRateHistories(rows, codes, since, limit);
177853
+ }
177854
+ async fetchBorrowRateHistory(code, since = undefined, limit = undefined, params = {}) {
177855
+ /**
177856
+ * @method
177857
+ * @name kucoin#fetchBorrowRateHistory
177858
+ * @description retrieves a history of a currencies borrow interest rate at specific time slots
177859
+ * @see https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/get-cross-isolated-margin-interest-records
177860
+ * @param {string} code unified currency code
177861
+ * @param {int} [since] timestamp for the earliest borrow rate
177862
+ * @param {int} [limit] the maximum number of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure} to retrieve
177863
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
177864
+ * @param {string} [params.marginMode] 'cross' or 'isolated' default is 'cross'
177865
+ * @param {int} [params.until] the latest time in ms to fetch entries for
177866
+ * @returns {object[]} an array of [borrow rate structures]{@link https://docs.ccxt.com/#/?id=borrow-rate-structure}
177867
+ */
177868
+ await this.loadMarkets();
177869
+ const marginResult = this.handleMarginModeAndParams('fetchBorrowRateHistories', params);
177870
+ const marginMode = this.safeString(marginResult, 0, 'cross');
177871
+ const isIsolated = (marginMode === 'isolated'); // true-isolated, false-cross
177872
+ const currency = this.currency(code);
177873
+ let request = {
177874
+ 'isIsolated': isIsolated,
177875
+ 'currency': currency['id'],
177876
+ };
177877
+ if (since !== undefined) {
177878
+ request['startTime'] = since;
177879
+ }
177880
+ [request, params] = this.handleUntilOption('endTime', request, params);
177881
+ if (limit !== undefined) {
177882
+ request['pageSize'] = limit; // default:50, min:10, max:500
177883
+ }
177884
+ const response = await this.privateGetMarginInterest(this.extend(request, params));
177885
+ //
177886
+ // {
177887
+ // "code": "200000",
177888
+ // "data": {
177889
+ // "timestamp": 1710829939673,
177890
+ // "currentPage": 1,
177891
+ // "pageSize": 50,
177892
+ // "totalNum": 0,
177893
+ // "totalPage": 0,
177894
+ // "items": [
177895
+ // {
177896
+ // "createdAt": 1697783812257,
177897
+ // "currency": "XMR",
177898
+ // "interestAmount": "0.1",
177899
+ // "dayRatio": "0.001"
177900
+ // }
177901
+ // ]
177902
+ // }
177903
+ // }
177904
+ //
177905
+ const data = this.safeDict(response, 'data');
177906
+ const rows = this.safeList(data, 'items');
177907
+ return this.parseBorrowRateHistory(rows, code, since, limit);
177908
+ }
177909
+ parseBorrowRateHistories(response, codes, since, limit) {
177910
+ //
177911
+ // [
177912
+ // {
177913
+ // "createdAt": 1697783812257,
177914
+ // "currency": "XMR",
177915
+ // "interestAmount": "0.1",
177916
+ // "dayRatio": "0.001"
177917
+ // }
177918
+ // ]
177919
+ //
177920
+ const borrowRateHistories = {};
177921
+ for (let i = 0; i < response.length; i++) {
177922
+ const item = response[i];
177923
+ const code = this.safeCurrencyCode(this.safeString(item, 'currency'));
177924
+ if (codes === undefined || this.inArray(code, codes)) {
177925
+ if (!(code in borrowRateHistories)) {
177926
+ borrowRateHistories[code] = [];
177927
+ }
177928
+ const borrowRateStructure = this.parseBorrowRate(item);
177929
+ borrowRateHistories[code].push(borrowRateStructure);
177930
+ }
177931
+ }
177932
+ const keys = Object.keys(borrowRateHistories);
177933
+ for (let i = 0; i < keys.length; i++) {
177934
+ const code = keys[i];
177935
+ borrowRateHistories[code] = this.filterByCurrencySinceLimit(borrowRateHistories[code], code, since, limit);
177936
+ }
177937
+ return borrowRateHistories;
177938
+ }
177575
177939
  async borrowCrossMargin(code, amount, params = {}) {
177576
177940
  /**
177577
177941
  * @method
@@ -201258,6 +201622,16 @@ class okcoin extends _abstract_okcoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
201258
201622
  '50026': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeNotAvailable,
201259
201623
  '50027': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.PermissionDenied,
201260
201624
  '50028': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201625
+ '50029': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201626
+ '50030': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.PermissionDenied,
201627
+ '50032': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AccountSuspended,
201628
+ '50033': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AccountSuspended,
201629
+ '50035': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
201630
+ '50036': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
201631
+ '50037': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
201632
+ '50038': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201633
+ '50039': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201634
+ '50041': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201261
201635
  '50044': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
201262
201636
  // API Class
201263
201637
  '50100': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
@@ -201301,9 +201675,25 @@ class okcoin extends _abstract_okcoin_js__WEBPACK_IMPORTED_MODULE_0__/* ["defaul
201301
201675
  '51024': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AccountSuspended,
201302
201676
  '51025': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
201303
201677
  '51026': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadSymbol,
201678
+ '51030': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201679
+ '51031': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201680
+ '51032': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201681
+ '51033': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201682
+ '51037': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201683
+ '51038': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201684
+ '51044': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201304
201685
  '51046': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201305
201686
  '51047': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201306
- '51031': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201687
+ '51048': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201688
+ '51049': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201689
+ '51050': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201690
+ '51051': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201691
+ '51052': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201692
+ '51053': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201693
+ '51054': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
201694
+ '51056': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201695
+ '51058': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201696
+ '51059': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201307
201697
  '51100': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201308
201698
  '51102': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
201309
201699
  '51103': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
@@ -204714,6 +205104,7 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
204714
205104
  '50027': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.PermissionDenied,
204715
205105
  '50028': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
204716
205106
  '50044': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.BadRequest,
205107
+ '50061': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
204717
205108
  '50062': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
204718
205109
  // API Class
204719
205110
  '50100': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
@@ -204901,6 +205292,15 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
204901
205292
  // SPOT/MARGIN error codes 54000-54999
204902
205293
  '54000': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
204903
205294
  '54001': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
205295
+ // Trading bot Error Code from 55100 to 55999
205296
+ '55100': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205297
+ '55101': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205298
+ '55102': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205299
+ '55103': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205300
+ '55104': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205301
+ '55111': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205302
+ '55112': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
205303
+ '55113': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.InvalidOrder,
204904
205304
  // FUNDING error codes 58000-58999
204905
205305
  '58000': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.ExchangeError,
204906
205306
  '58001': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
@@ -209162,6 +209562,14 @@ class okx extends _abstract_okx_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
209162
209562
  '3': 'pending',
209163
209563
  '4': 'pending',
209164
209564
  '5': 'pending',
209565
+ '6': 'pending',
209566
+ '7': 'pending',
209567
+ '8': 'pending',
209568
+ '9': 'pending',
209569
+ '10': 'pending',
209570
+ '12': 'pending',
209571
+ '15': 'pending',
209572
+ '16': 'pending',
209165
209573
  };
209166
209574
  return this.safeString(statuses, status, status);
209167
209575
  }
@@ -226104,7 +226512,7 @@ class ascendex extends _ascendex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
226104
226512
  'key': this.apiKey,
226105
226513
  'sig': signature,
226106
226514
  };
226107
- future = this.watch(url, messageHash, this.extend(request, params));
226515
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
226108
226516
  client.subscriptions[messageHash] = future;
226109
226517
  }
226110
226518
  return future;
@@ -240090,7 +240498,7 @@ class bitvavo extends _bitvavo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
240090
240498
  'timestamp': timestamp,
240091
240499
  };
240092
240500
  const message = this.extend(request, params);
240093
- future = this.watch(url, messageHash, message);
240501
+ future = await this.watch(url, messageHash, message, messageHash);
240094
240502
  client.subscriptions[messageHash] = future;
240095
240503
  }
240096
240504
  return future;
@@ -247853,8 +248261,12 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247853
248261
  //
247854
248262
  const messageHashSpot = 'authenticated:spot';
247855
248263
  const messageHashSwap = 'authenticated:swap';
247856
- client.resolve(message, messageHashSpot);
247857
- client.resolve(message, messageHashSwap);
248264
+ // client.resolve (message, messageHashSpot);
248265
+ // client.resolve (message, messageHashSwap);
248266
+ const spotFuture = this.safeValue(client.futures, messageHashSpot);
248267
+ spotFuture.resolve(true);
248268
+ const swapFutures = this.safeValue(client.futures, messageHashSwap);
248269
+ swapFutures.resolve(true);
247858
248270
  return message;
247859
248271
  }
247860
248272
  handleSubscriptionStatus(client, message) {
@@ -247879,16 +248291,20 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247879
248291
  const url = this.urls['api']['ws'][type];
247880
248292
  const client = this.client(url);
247881
248293
  const time = this.milliseconds();
248294
+ const isSpot = (type === 'spot');
248295
+ const spotMessageHash = 'authenticated:spot';
248296
+ const swapMessageHash = 'authenticated:swap';
248297
+ const messageHash = isSpot ? spotMessageHash : swapMessageHash;
248298
+ const future = client.future(messageHash);
248299
+ const authenticated = this.safeValue(client.subscriptions, messageHash);
247882
248300
  if (type === 'spot') {
247883
- const messageHash = 'authenticated:spot';
247884
- let future = this.safeValue(client.subscriptions, messageHash);
247885
- if (future !== undefined) {
248301
+ if (authenticated !== undefined) {
247886
248302
  return await future;
247887
248303
  }
247888
248304
  const requestId = this.requestId();
247889
248305
  const subscribe = {
247890
248306
  'id': requestId,
247891
- 'future': 'authenticated:spot',
248307
+ 'future': spotMessageHash,
247892
248308
  };
247893
248309
  const signData = 'access_id=' + this.apiKey + '&tonce=' + this.numberToString(time) + '&secret_key=' + this.secret;
247894
248310
  const hash = this.hash(this.encode(signData), _static_dependencies_noble_hashes_md5_js__WEBPACK_IMPORTED_MODULE_5__/* .md5 */ .F);
@@ -247901,20 +248317,18 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247901
248317
  ],
247902
248318
  'id': requestId,
247903
248319
  };
247904
- future = this.watch(url, messageHash, request, requestId, subscribe);
247905
- client.subscriptions[messageHash] = future;
248320
+ this.watch(url, messageHash, request, requestId, subscribe);
248321
+ client.subscriptions[messageHash] = true;
247906
248322
  return await future;
247907
248323
  }
247908
248324
  else {
247909
- const messageHash = 'authenticated:swap';
247910
- let future = this.safeValue(client.subscriptions, messageHash);
247911
- if (future !== undefined) {
248325
+ if (authenticated !== undefined) {
247912
248326
  return await future;
247913
248327
  }
247914
248328
  const requestId = this.requestId();
247915
248329
  const subscribe = {
247916
248330
  'id': requestId,
247917
- 'future': 'authenticated:swap',
248331
+ 'future': swapMessageHash,
247918
248332
  };
247919
248333
  const signData = 'access_id=' + this.apiKey + '&timestamp=' + this.numberToString(time) + '&secret_key=' + this.secret;
247920
248334
  const hash = this.hash(this.encode(signData), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_3__/* .sha256 */ .J, 'hex');
@@ -247927,8 +248341,8 @@ class coinex extends _coinex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
247927
248341
  ],
247928
248342
  'id': requestId,
247929
248343
  };
247930
- future = this.watch(url, messageHash, request, requestId, subscribe);
247931
- client.subscriptions[messageHash] = future;
248344
+ this.watch(url, messageHash, request, requestId, subscribe);
248345
+ client.subscriptions[messageHash] = true;
247932
248346
  return await future;
247933
248347
  }
247934
248348
  }
@@ -250899,7 +251313,7 @@ class deribit extends _deribit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
250899
251313
  'data': '',
250900
251314
  },
250901
251315
  };
250902
- future = this.watch(url, messageHash, this.extend(request, params));
251316
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
250903
251317
  client.subscriptions[messageHash] = future;
250904
251318
  }
250905
251319
  return future;
@@ -251568,7 +251982,7 @@ class exmo extends _exmo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
251568
251982
  'nonce': time,
251569
251983
  };
251570
251984
  const message = this.extend(request, query);
251571
- future = this.watch(url, messageHash, message);
251985
+ future = await this.watch(url, messageHash, message, messageHash);
251572
251986
  client.subscriptions[messageHash] = future;
251573
251987
  }
251574
251988
  return future;
@@ -261887,7 +262301,7 @@ class krakenfutures extends _krakenfutures_js__WEBPACK_IMPORTED_MODULE_0__/* ["d
261887
262301
  'api_key': this.apiKey,
261888
262302
  };
261889
262303
  const message = this.extend(request, params);
261890
- future = await this.watch(url, messageHash, message);
262304
+ future = await this.watch(url, messageHash, message, messageHash);
261891
262305
  client.subscriptions[messageHash] = future;
261892
262306
  }
261893
262307
  return future;
@@ -274092,7 +274506,7 @@ class phemex extends _phemex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
274092
274506
  if (!(messageHash in client.subscriptions)) {
274093
274507
  client.subscriptions[subscriptionHash] = this.handleAuthenticate;
274094
274508
  }
274095
- future = this.watch(url, messageHash, message);
274509
+ future = await this.watch(url, messageHash, message, messageHash);
274096
274510
  client.subscriptions[messageHash] = future;
274097
274511
  }
274098
274512
  return future;
@@ -274215,7 +274629,7 @@ class poloniex extends _poloniex_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] *
274215
274629
  },
274216
274630
  };
274217
274631
  const message = this.extend(request, params);
274218
- future = await this.watch(url, messageHash, message);
274632
+ future = await this.watch(url, messageHash, message, messageHash);
274219
274633
  //
274220
274634
  // {
274221
274635
  // "data": {
@@ -276990,7 +277404,7 @@ class probit extends _probit_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z
276990
277404
  'type': 'authorization',
276991
277405
  'token': accessToken,
276992
277406
  };
276993
- future = this.watch(url, messageHash, this.extend(request, params));
277407
+ future = await this.watch(url, messageHash, this.extend(request, params), messageHash);
276994
277408
  client.subscriptions[messageHash] = future;
276995
277409
  }
276996
277410
  return future;
@@ -279032,6 +279446,13 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279032
279446
  'ping': this.ping,
279033
279447
  'keepAlive': 10000,
279034
279448
  },
279449
+ 'exceptions': {
279450
+ 'ws': {
279451
+ 'exact': {
279452
+ 'Auth is needed.': _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError,
279453
+ },
279454
+ },
279455
+ },
279035
279456
  });
279036
279457
  }
279037
279458
  requestId(url) {
@@ -279393,8 +279814,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279393
279814
  const client = this.client(url);
279394
279815
  const messageHash = 'authenticated';
279395
279816
  const event = 'auth';
279396
- let future = this.safeValue(client.subscriptions, messageHash);
279397
- if (future === undefined) {
279817
+ const future = client.future(messageHash);
279818
+ const authenticated = this.safeValue(client.subscriptions, messageHash);
279819
+ if (authenticated === undefined) {
279398
279820
  const ts = this.nonce().toString();
279399
279821
  const auth = '|' + ts;
279400
279822
  const signature = this.hmac(this.encode(auth), this.encode(this.secret), _static_dependencies_noble_hashes_sha256_js__WEBPACK_IMPORTED_MODULE_4__/* .sha256 */ .J);
@@ -279407,10 +279829,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279407
279829
  },
279408
279830
  };
279409
279831
  const message = this.extend(request, params);
279410
- future = this.watch(url, messageHash, message);
279411
- client.subscriptions[messageHash] = future;
279832
+ this.watch(url, messageHash, message, messageHash);
279412
279833
  }
279413
- return future;
279834
+ return await future;
279414
279835
  }
279415
279836
  async watchPrivate(messageHash, message, params = {}) {
279416
279837
  await this.authenticate(params);
@@ -279423,6 +279844,16 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279423
279844
  return await this.watch(url, messageHash, request, messageHash, subscribe);
279424
279845
  }
279425
279846
  async watchOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
279847
+ /**
279848
+ * @method
279849
+ * @name woo#watchOrders
279850
+ * @description watches information on multiple orders made by the user
279851
+ * @param {string} symbol unified market symbol of the market orders were made in
279852
+ * @param {int} [since] the earliest time in ms to fetch orders for
279853
+ * @param {int} [limit] the maximum number of order structures to retrieve
279854
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
279855
+ * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
279856
+ */
279426
279857
  await this.loadMarkets();
279427
279858
  const topic = 'executionreport';
279428
279859
  let messageHash = topic;
@@ -279775,7 +280206,43 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279775
280206
  this.balance = this.safeBalance(this.balance);
279776
280207
  client.resolve(this.balance, 'balance');
279777
280208
  }
280209
+ handleErrorMessage(client, message) {
280210
+ //
280211
+ // {"id":"1","event":"subscribe","success":false,"ts":1710780997216,"errorMsg":"Auth is needed."}
280212
+ //
280213
+ if (!('success' in message)) {
280214
+ return false;
280215
+ }
280216
+ const success = this.safeBool(message, 'success');
280217
+ if (success) {
280218
+ return false;
280219
+ }
280220
+ const errorMessage = this.safeString(message, 'errorMsg');
280221
+ try {
280222
+ if (errorMessage !== undefined) {
280223
+ const feedback = this.id + ' ' + this.json(message);
280224
+ this.throwExactlyMatchedException(this.exceptions['exact'], errorMessage, feedback);
280225
+ }
280226
+ return false;
280227
+ }
280228
+ catch (error) {
280229
+ if (error instanceof _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError) {
280230
+ const messageHash = 'authenticated';
280231
+ client.reject(error, messageHash);
280232
+ if (messageHash in client.subscriptions) {
280233
+ delete client.subscriptions[messageHash];
280234
+ }
280235
+ }
280236
+ else {
280237
+ client.reject(error);
280238
+ }
280239
+ return true;
280240
+ }
280241
+ }
279778
280242
  handleMessage(client, message) {
280243
+ if (this.handleErrorMessage(client, message)) {
280244
+ return;
280245
+ }
279779
280246
  const methods = {
279780
280247
  'ping': this.handlePing,
279781
280248
  'pong': this.handlePong,
@@ -279858,7 +280325,9 @@ class woo extends _woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .Z {
279858
280325
  const messageHash = 'authenticated';
279859
280326
  const success = this.safeValue(message, 'success');
279860
280327
  if (success) {
279861
- client.resolve(message, messageHash);
280328
+ // client.resolve (message, messageHash);
280329
+ const future = this.safeValue(client.futures, 'authenticated');
280330
+ future.resolve(true);
279862
280331
  }
279863
280332
  else {
279864
280333
  const error = new _base_errors_js__WEBPACK_IMPORTED_MODULE_1__.AuthenticationError(this.json(message));
@@ -308529,7 +308998,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
308529
308998
  'fetchBalance': true,
308530
308999
  'fetchCanceledOrders': false,
308531
309000
  'fetchClosedOrder': false,
308532
- 'fetchClosedOrders': false,
309001
+ 'fetchClosedOrders': true,
308533
309002
  'fetchCurrencies': true,
308534
309003
  'fetchDepositAddress': true,
308535
309004
  'fetchDeposits': true,
@@ -308548,7 +309017,7 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
308548
309017
  'fetchOHLCV': true,
308549
309018
  'fetchOpenInterestHistory': false,
308550
309019
  'fetchOpenOrder': false,
308551
- 'fetchOpenOrders': false,
309020
+ 'fetchOpenOrders': true,
308552
309021
  'fetchOrder': true,
308553
309022
  'fetchOrderBook': true,
308554
309023
  'fetchOrders': true,
@@ -309840,9 +310309,15 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
309840
310309
  * @param {boolean} [params.isTriggered] whether the order has been triggered (false by default)
309841
310310
  * @param {string} [params.side] 'buy' or 'sell'
309842
310311
  * @param {boolean} [params.trailing] set to true if you want to fetch trailing orders
310312
+ * @param {boolean} [params.paginate] set to true if you want to fetch orders with pagination
309843
310313
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
309844
310314
  */
309845
310315
  await this.loadMarkets();
310316
+ let paginate = false;
310317
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchOrders', 'paginate');
310318
+ if (paginate) {
310319
+ return await this.fetchPaginatedCallIncremental('fetchOrders', symbol, since, limit, params, 'page', 500);
310320
+ }
309846
310321
  const request = {};
309847
310322
  let market = undefined;
309848
310323
  const stop = this.safeBool2(params, 'stop', 'trigger');
@@ -309860,6 +310335,12 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
309860
310335
  request['start_t'] = since;
309861
310336
  }
309862
310337
  }
310338
+ if (limit !== undefined) {
310339
+ request['size'] = limit;
310340
+ }
310341
+ else {
310342
+ request['size'] = 500;
310343
+ }
309863
310344
  if (stop) {
309864
310345
  request['algoType'] = 'stop';
309865
310346
  }
@@ -309906,7 +310387,51 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
309906
310387
  //
309907
310388
  const data = this.safeValue(response, 'data', response);
309908
310389
  const orders = this.safeList(data, 'rows');
309909
- return this.parseOrders(orders, market, since, limit, params);
310390
+ return this.parseOrders(orders, market, since, limit);
310391
+ }
310392
+ async fetchOpenOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
310393
+ /**
310394
+ * @method
310395
+ * @name woo#fetchOpenOrders
310396
+ * @description fetches information on multiple orders made by the user
310397
+ * @see https://docs.woo.org/#get-orders
310398
+ * @see https://docs.woo.org/#get-algo-orders
310399
+ * @param {string} symbol unified market symbol of the market orders were made in
310400
+ * @param {int} [since] the earliest time in ms to fetch orders for
310401
+ * @param {int} [limit] the maximum number of order structures to retrieve
310402
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
310403
+ * @param {boolean} [params.stop] whether the order is a stop/algo order
310404
+ * @param {boolean} [params.isTriggered] whether the order has been triggered (false by default)
310405
+ * @param {string} [params.side] 'buy' or 'sell'
310406
+ * @param {boolean} [params.trailing] set to true if you want to fetch trailing orders
310407
+ * @param {boolean} [params.paginate] set to true if you want to fetch orders with pagination
310408
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
310409
+ */
310410
+ await this.loadMarkets();
310411
+ const extendedParams = this.extend(params, { 'status': 'INCOMPLETE' });
310412
+ return await this.fetchOrders(symbol, since, limit, extendedParams);
310413
+ }
310414
+ async fetchClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
310415
+ /**
310416
+ * @method
310417
+ * @name woo#fetchClosedOrders
310418
+ * @description fetches information on multiple orders made by the user
310419
+ * @see https://docs.woo.org/#get-orders
310420
+ * @see https://docs.woo.org/#get-algo-orders
310421
+ * @param {string} symbol unified market symbol of the market orders were made in
310422
+ * @param {int} [since] the earliest time in ms to fetch orders for
310423
+ * @param {int} [limit] the maximum number of order structures to retrieve
310424
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
310425
+ * @param {boolean} [params.stop] whether the order is a stop/algo order
310426
+ * @param {boolean} [params.isTriggered] whether the order has been triggered (false by default)
310427
+ * @param {string} [params.side] 'buy' or 'sell'
310428
+ * @param {boolean} [params.trailing] set to true if you want to fetch trailing orders
310429
+ * @param {boolean} [params.paginate] set to true if you want to fetch orders with pagination
310430
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
310431
+ */
310432
+ await this.loadMarkets();
310433
+ const extendedParams = this.extend(params, { 'status': 'COMPLETED' });
310434
+ return await this.fetchOrders(symbol, since, limit, extendedParams);
309910
310435
  }
309911
310436
  parseTimeInForce(timeInForce) {
309912
310437
  const timeInForces = {
@@ -310225,14 +310750,21 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
310225
310750
  /**
310226
310751
  * @method
310227
310752
  * @name woo#fetchMyTrades
310753
+ * @see https://docs.woo.org/#get-trades
310228
310754
  * @description fetch all trades made by the user
310229
310755
  * @param {string} symbol unified market symbol
310230
310756
  * @param {int} [since] the earliest time in ms to fetch trades for
310231
310757
  * @param {int} [limit] the maximum number of trades structures to retrieve
310232
310758
  * @param {object} [params] extra parameters specific to the exchange API endpoint
310759
+ * @param {boolean} [params.paginate] set to true if you want to fetch trades with pagination
310233
310760
  * @returns {Trade[]} a list of [trade structures]{@link https://docs.ccxt.com/#/?id=trade-structure}
310234
310761
  */
310235
310762
  await this.loadMarkets();
310763
+ let paginate = false;
310764
+ [paginate, params] = this.handleOptionAndParams(params, 'fetchMyTrades', 'paginate');
310765
+ if (paginate) {
310766
+ return await this.fetchPaginatedCallIncremental('fetchMyTrades', symbol, since, limit, params, 'page', 500);
310767
+ }
310236
310768
  const request = {};
310237
310769
  let market = undefined;
310238
310770
  if (symbol !== undefined) {
@@ -310242,6 +310774,12 @@ class woo extends _abstract_woo_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */
310242
310774
  if (since !== undefined) {
310243
310775
  request['start_t'] = since;
310244
310776
  }
310777
+ if (limit !== undefined) {
310778
+ request['size'] = limit;
310779
+ }
310780
+ else {
310781
+ request['size'] = 500;
310782
+ }
310245
310783
  const response = await this.v1PrivateGetClientTrades(this.extend(request, params));
310246
310784
  // {
310247
310785
  // "success": true,
@@ -321552,7 +322090,7 @@ SOFTWARE.
321552
322090
 
321553
322091
  //-----------------------------------------------------------------------------
321554
322092
  // this is updated by vss.js when building
321555
- const version = '4.2.76';
322093
+ const version = '4.2.78';
321556
322094
  _src_base_Exchange_js__WEBPACK_IMPORTED_MODULE_0__/* .Exchange */ .e.ccxtVersion = version;
321557
322095
  //-----------------------------------------------------------------------------
321558
322096