ccxt 4.3.70 → 4.3.71

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 (151) hide show
  1. package/README.md +6 -5
  2. package/dist/ccxt.browser.min.js +13 -10
  3. package/dist/cjs/ccxt.js +6 -1
  4. package/dist/cjs/src/abstract/paradex.js +9 -0
  5. package/dist/cjs/src/base/Exchange.js +49 -0
  6. package/dist/cjs/src/paradex.js +2075 -0
  7. package/dist/cjs/src/pro/bequant.js +4 -0
  8. package/dist/cjs/src/pro/paradex.js +365 -0
  9. package/dist/cjs/src/static_dependencies/noble-curves/abstract/poseidon.js +100 -0
  10. package/dist/cjs/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -0
  11. package/dist/cjs/src/static_dependencies/scure-starknet/index.js +284 -0
  12. package/dist/cjs/src/static_dependencies/starknet/constants.js +60 -0
  13. package/dist/cjs/src/static_dependencies/starknet/types/calldata.js +26 -0
  14. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/abi.js +8 -0
  15. package/dist/cjs/src/static_dependencies/starknet/types/lib/contract/index.js +13 -0
  16. package/dist/cjs/src/static_dependencies/starknet/types/lib/index.js +56 -0
  17. package/dist/cjs/src/static_dependencies/starknet/types/typedData.js +19 -0
  18. package/dist/cjs/src/static_dependencies/starknet/utils/assert.js +15 -0
  19. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +44 -0
  20. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +122 -0
  21. package/dist/cjs/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +137 -0
  22. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/byteArray.js +61 -0
  23. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/cairo.js +218 -0
  24. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  25. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  26. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  27. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/formatter.js +66 -0
  28. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/index.js +281 -0
  29. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/index.js +33 -0
  30. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +37 -0
  31. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  32. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +156 -0
  33. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/requestParser.js +250 -0
  34. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/responseParser.js +215 -0
  35. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/tuple.js +112 -0
  36. package/dist/cjs/src/static_dependencies/starknet/utils/calldata/validate.js +206 -0
  37. package/dist/cjs/src/static_dependencies/starknet/utils/encode.js +58 -0
  38. package/dist/cjs/src/static_dependencies/starknet/utils/hash/classHash.js +57 -0
  39. package/dist/cjs/src/static_dependencies/starknet/utils/merkle.js +76 -0
  40. package/dist/cjs/src/static_dependencies/starknet/utils/num.js +92 -0
  41. package/dist/cjs/src/static_dependencies/starknet/utils/selector.js +48 -0
  42. package/dist/cjs/src/static_dependencies/starknet/utils/shortString.js +101 -0
  43. package/dist/cjs/src/static_dependencies/starknet/utils/typedData.js +334 -0
  44. package/dist/cjs/src/woo.js +4 -2
  45. package/js/ccxt.d.ts +8 -2
  46. package/js/ccxt.js +6 -2
  47. package/js/src/abstract/paradex.d.ts +43 -0
  48. package/js/src/abstract/paradex.js +11 -0
  49. package/js/src/base/Exchange.d.ts +7 -0
  50. package/js/src/base/Exchange.js +45 -0
  51. package/js/src/paradex.d.ts +76 -0
  52. package/js/src/paradex.js +2075 -0
  53. package/js/src/pro/bequant.js +4 -0
  54. package/js/src/pro/paradex.d.ts +15 -0
  55. package/js/src/pro/paradex.js +366 -0
  56. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.d.ts +24 -0
  57. package/js/src/static_dependencies/noble-curves/abstract/weierstrass.js +1 -1
  58. package/js/src/static_dependencies/scure-starknet/index.d.ts +79 -0
  59. package/js/src/static_dependencies/scure-starknet/index.js +323 -0
  60. package/js/src/static_dependencies/starknet/constants.d.ts +61 -0
  61. package/js/src/static_dependencies/starknet/constants.js +67 -0
  62. package/js/src/static_dependencies/starknet/index.d.ts +7 -0
  63. package/js/src/static_dependencies/starknet/index.js +50 -0
  64. package/js/src/static_dependencies/starknet/types/cairoEnum.d.ts +2 -0
  65. package/js/src/static_dependencies/starknet/types/cairoEnum.js +7 -0
  66. package/js/src/static_dependencies/starknet/types/calldata.d.ts +19 -0
  67. package/js/src/static_dependencies/starknet/types/calldata.js +28 -0
  68. package/js/src/static_dependencies/starknet/types/index.d.ts +13 -0
  69. package/js/src/static_dependencies/starknet/types/index.js +16 -0
  70. package/js/src/static_dependencies/starknet/types/lib/contract/abi.d.ts +71 -0
  71. package/js/src/static_dependencies/starknet/types/lib/contract/abi.js +13 -0
  72. package/js/src/static_dependencies/starknet/types/lib/contract/index.d.ts +24 -0
  73. package/js/src/static_dependencies/starknet/types/lib/contract/index.js +16 -0
  74. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.d.ts +33 -0
  75. package/js/src/static_dependencies/starknet/types/lib/contract/legacy.js +7 -0
  76. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.d.ts +52 -0
  77. package/js/src/static_dependencies/starknet/types/lib/contract/sierra.js +7 -0
  78. package/js/src/static_dependencies/starknet/types/lib/index.d.ts +248 -0
  79. package/js/src/static_dependencies/starknet/types/lib/index.js +52 -0
  80. package/js/src/static_dependencies/starknet/types/typedData.d.ts +44 -0
  81. package/js/src/static_dependencies/starknet/types/typedData.js +19 -0
  82. package/js/src/static_dependencies/starknet/utils/address.d.ts +53 -0
  83. package/js/src/static_dependencies/starknet/utils/address.js +89 -0
  84. package/js/src/static_dependencies/starknet/utils/assert.d.ts +7 -0
  85. package/js/src/static_dependencies/starknet/utils/assert.js +17 -0
  86. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.d.ts +6 -0
  87. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/felt.js +43 -0
  88. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.d.ts +72 -0
  89. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint256.js +117 -0
  90. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.d.ts +76 -0
  91. package/js/src/static_dependencies/starknet/utils/cairoDataTypes/uint512.js +136 -0
  92. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.d.ts +32 -0
  93. package/js/src/static_dependencies/starknet/utils/calldata/byteArray.js +59 -0
  94. package/js/src/static_dependencies/starknet/utils/calldata/cairo.d.ts +183 -0
  95. package/js/src/static_dependencies/starknet/utils/calldata/cairo.js +229 -0
  96. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.d.ts +38 -0
  97. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoCustomEnum.js +57 -0
  98. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.d.ts +35 -0
  99. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoOption.js +64 -0
  100. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.d.ts +34 -0
  101. package/js/src/static_dependencies/starknet/utils/calldata/enum/CairoResult.js +63 -0
  102. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.d.ts +3 -0
  103. package/js/src/static_dependencies/starknet/utils/calldata/enum/index.js +9 -0
  104. package/js/src/static_dependencies/starknet/utils/calldata/formatter.d.ts +9 -0
  105. package/js/src/static_dependencies/starknet/utils/calldata/formatter.js +67 -0
  106. package/js/src/static_dependencies/starknet/utils/calldata/index.d.ts +89 -0
  107. package/js/src/static_dependencies/starknet/utils/calldata/index.js +280 -0
  108. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.d.ts +5 -0
  109. package/js/src/static_dependencies/starknet/utils/calldata/parser/index.js +30 -0
  110. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.d.ts +20 -0
  111. package/js/src/static_dependencies/starknet/utils/calldata/parser/interface.js +8 -0
  112. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.d.ts +24 -0
  113. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-0-1.1.0.js +36 -0
  114. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.d.ts +23 -0
  115. package/js/src/static_dependencies/starknet/utils/calldata/parser/parser-2.0.0.js +40 -0
  116. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.d.ts +2 -0
  117. package/js/src/static_dependencies/starknet/utils/calldata/propertyOrder.js +155 -0
  118. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.d.ts +11 -0
  119. package/js/src/static_dependencies/starknet/utils/calldata/requestParser.js +248 -0
  120. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.d.ts +11 -0
  121. package/js/src/static_dependencies/starknet/utils/calldata/responseParser.js +214 -0
  122. package/js/src/static_dependencies/starknet/utils/calldata/tuple.d.ts +6 -0
  123. package/js/src/static_dependencies/starknet/utils/calldata/tuple.js +113 -0
  124. package/js/src/static_dependencies/starknet/utils/calldata/validate.d.ts +6 -0
  125. package/js/src/static_dependencies/starknet/utils/calldata/validate.js +208 -0
  126. package/js/src/static_dependencies/starknet/utils/encode.d.ts +207 -0
  127. package/js/src/static_dependencies/starknet/utils/encode.js +282 -0
  128. package/js/src/static_dependencies/starknet/utils/hash/classHash.d.ts +57 -0
  129. package/js/src/static_dependencies/starknet/utils/hash/classHash.js +224 -0
  130. package/js/src/static_dependencies/starknet/utils/hash/index.d.ts +6 -0
  131. package/js/src/static_dependencies/starknet/utils/hash/index.js +13 -0
  132. package/js/src/static_dependencies/starknet/utils/json.d.ts +24 -0
  133. package/js/src/static_dependencies/starknet/utils/json.js +43 -0
  134. package/js/src/static_dependencies/starknet/utils/merkle.d.ts +35 -0
  135. package/js/src/static_dependencies/starknet/utils/merkle.js +84 -0
  136. package/js/src/static_dependencies/starknet/utils/num.d.ts +182 -0
  137. package/js/src/static_dependencies/starknet/utils/num.js +244 -0
  138. package/js/src/static_dependencies/starknet/utils/selector.d.ts +48 -0
  139. package/js/src/static_dependencies/starknet/utils/selector.js +85 -0
  140. package/js/src/static_dependencies/starknet/utils/shortString.d.ts +57 -0
  141. package/js/src/static_dependencies/starknet/utils/shortString.js +96 -0
  142. package/js/src/static_dependencies/starknet/utils/starknetId.d.ts +113 -0
  143. package/js/src/static_dependencies/starknet/utils/starknetId.js +265 -0
  144. package/js/src/static_dependencies/starknet/utils/typedData.d.ts +54 -0
  145. package/js/src/static_dependencies/starknet/utils/typedData.js +321 -0
  146. package/js/src/static_dependencies/starknet/utils/uint256.d.ts +21 -0
  147. package/js/src/static_dependencies/starknet/utils/uint256.js +32 -0
  148. package/js/src/static_dependencies/starknet/utils/url.d.ts +29 -0
  149. package/js/src/static_dependencies/starknet/utils/url.js +70 -0
  150. package/js/src/woo.js +4 -2
  151. package/package.json +1 -1
package/dist/cjs/ccxt.js CHANGED
@@ -101,6 +101,7 @@ var okx = require('./src/okx.js');
101
101
  var onetrading = require('./src/onetrading.js');
102
102
  var oxfun = require('./src/oxfun.js');
103
103
  var p2b = require('./src/p2b.js');
104
+ var paradex = require('./src/paradex.js');
104
105
  var paymium = require('./src/paymium.js');
105
106
  var phemex = require('./src/phemex.js');
106
107
  var poloniex = require('./src/poloniex.js');
@@ -178,6 +179,7 @@ var okx$1 = require('./src/pro/okx.js');
178
179
  var onetrading$1 = require('./src/pro/onetrading.js');
179
180
  var oxfun$1 = require('./src/pro/oxfun.js');
180
181
  var p2b$1 = require('./src/pro/p2b.js');
182
+ var paradex$1 = require('./src/pro/paradex.js');
181
183
  var phemex$1 = require('./src/pro/phemex.js');
182
184
  var poloniex$1 = require('./src/pro/poloniex.js');
183
185
  var poloniexfutures$1 = require('./src/pro/poloniexfutures.js');
@@ -192,7 +194,7 @@ var xt$1 = require('./src/pro/xt.js');
192
194
 
193
195
  //-----------------------------------------------------------------------------
194
196
  // this is updated by vss.js when building
195
- const version = '4.3.70';
197
+ const version = '4.3.71';
196
198
  Exchange["default"].ccxtVersion = version;
197
199
  const exchanges = {
198
200
  'ace': ace,
@@ -284,6 +286,7 @@ const exchanges = {
284
286
  'onetrading': onetrading,
285
287
  'oxfun': oxfun,
286
288
  'p2b': p2b,
289
+ 'paradex': paradex,
287
290
  'paymium': paymium,
288
291
  'phemex': phemex,
289
292
  'poloniex': poloniex,
@@ -363,6 +366,7 @@ const pro = {
363
366
  'onetrading': onetrading$1,
364
367
  'oxfun': oxfun$1,
365
368
  'p2b': p2b$1,
369
+ 'paradex': paradex$1,
366
370
  'phemex': phemex$1,
367
371
  'poloniex': poloniex$1,
368
372
  'poloniexfutures': poloniexfutures$1,
@@ -512,6 +516,7 @@ exports.okx = okx;
512
516
  exports.onetrading = onetrading;
513
517
  exports.oxfun = oxfun;
514
518
  exports.p2b = p2b;
519
+ exports.paradex = paradex;
515
520
  exports.paymium = paymium;
516
521
  exports.phemex = phemex;
517
522
  exports.poloniex = poloniex;
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var Exchange$1 = require('../base/Exchange.js');
4
+
5
+ // -------------------------------------------------------------------------------
6
+ class Exchange extends Exchange$1["default"] {
7
+ }
8
+
9
+ module.exports = Exchange;
@@ -22,6 +22,12 @@ require('../static_dependencies/noble-hashes/sha256.js');
22
22
  require('../static_dependencies/ethers/address/address.js');
23
23
  var typedData = require('../static_dependencies/ethers/hash/typed-data.js');
24
24
  var rng = require('../static_dependencies/jsencrypt/lib/jsbn/rng.js');
25
+ var index$1 = require('../static_dependencies/scure-starknet/index.js');
26
+ require('../static_dependencies/noble-curves/abstract/modular.js');
27
+ var selector = require('../static_dependencies/starknet/utils/selector.js');
28
+ var classHash = require('../static_dependencies/starknet/utils/hash/classHash.js');
29
+ var index$2 = require('../static_dependencies/starknet/utils/calldata/index.js');
30
+ var typedData$1 = require('../static_dependencies/starknet/utils/typedData.js');
25
31
  var generic = require('./functions/generic.js');
26
32
  var misc = require('./functions/misc.js');
27
33
 
@@ -1182,6 +1188,49 @@ class Exchange {
1182
1188
  ethEncodeStructuredData(domain, messageTypes, messageData) {
1183
1189
  return this.base16ToBinary(typedData.TypedDataEncoder.encode(domain, messageTypes, messageData).slice(-132));
1184
1190
  }
1191
+ retrieveStarkAccount(signature, accountClassHash, accountProxyClassHash) {
1192
+ const privateKey = index$1.ethSigToPrivate(signature);
1193
+ const publicKey = index$1.getStarkKey(privateKey);
1194
+ const callData = index$2.CallData.compile({
1195
+ implementation: accountClassHash,
1196
+ selector: selector.getSelectorFromName('initialize'),
1197
+ calldata: index$2.CallData.compile({
1198
+ signer: publicKey,
1199
+ guardian: '0',
1200
+ }),
1201
+ });
1202
+ const address = classHash.calculateContractAddressFromHash(publicKey, accountProxyClassHash, callData, 0);
1203
+ return {
1204
+ privateKey,
1205
+ publicKey,
1206
+ address
1207
+ };
1208
+ }
1209
+ starknetEncodeStructuredData(domain, messageTypes, messageData, address) {
1210
+ const types = Object.keys(messageTypes);
1211
+ if (types.length > 1) {
1212
+ throw new errors.NotSupported(this.id + 'starknetEncodeStructuredData only support single type');
1213
+ }
1214
+ const request = {
1215
+ 'domain': domain,
1216
+ 'primaryType': types[0],
1217
+ 'types': this.extend({
1218
+ 'StarkNetDomain': [
1219
+ { 'name': "name", 'type': "felt" },
1220
+ { 'name': "chainId", 'type': "felt" },
1221
+ { 'name': "version", 'type': "felt" },
1222
+ ],
1223
+ }, messageTypes),
1224
+ 'message': messageData,
1225
+ };
1226
+ const msgHash = typedData$1.getMessageHash(request, address);
1227
+ return msgHash;
1228
+ }
1229
+ starknetSign(hash, pri) {
1230
+ // TODO: unify to ecdsa
1231
+ const signature = index$1.sign(hash.replace('0x', ''), pri.slice(-64));
1232
+ return this.json([signature.r.toString(), signature.s.toString()]);
1233
+ }
1185
1234
  intToBase16(elem) {
1186
1235
  return elem.toString(16);
1187
1236
  }