starknet 2.9.0 → 3.2.0

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 (123) hide show
  1. package/.eslintrc +3 -1
  2. package/CHANGELOG.md +44 -0
  3. package/README.md +16 -14
  4. package/__mocks__/ArgentAccount.json +68548 -51944
  5. package/__mocks__/TestDapp.json +12962 -0
  6. package/__mocks__/contract.json +33191 -0
  7. package/__mocks__/multicall.json +8139 -0
  8. package/__tests__/account.test.ts +101 -122
  9. package/__tests__/accountContract.test.ts +141 -0
  10. package/__tests__/contract.test.ts +183 -34
  11. package/__tests__/fixtures.ts +13 -0
  12. package/__tests__/jest.setup.ts +9 -0
  13. package/__tests__/provider.test.ts +17 -42
  14. package/__tests__/utils/__snapshots__/utils.browser.test.ts.snap +2 -2
  15. package/__tests__/utils/__snapshots__/utils.test.ts.snap +2 -2
  16. package/__tests__/utils/ellipticalCurve.test.ts +20 -13
  17. package/__tests__/utils/utils.test.ts +3 -3
  18. package/account/default.d.ts +66 -0
  19. package/account/default.js +391 -0
  20. package/account/index.d.ts +2 -0
  21. package/account/index.js +27 -0
  22. package/account/interface.d.ts +83 -0
  23. package/account/interface.js +37 -0
  24. package/contract.d.ts +71 -12
  25. package/contract.js +243 -89
  26. package/dist/account/default.d.ts +55 -0
  27. package/dist/account/default.js +246 -0
  28. package/dist/account/index.d.ts +2 -0
  29. package/dist/account/index.js +14 -0
  30. package/dist/account/interface.d.ts +69 -0
  31. package/dist/account/interface.js +27 -0
  32. package/dist/contract.d.ts +71 -9
  33. package/dist/contract.js +214 -65
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.js +1 -0
  36. package/dist/provider/default.d.ts +23 -13
  37. package/dist/provider/default.js +168 -95
  38. package/dist/provider/interface.d.ts +22 -22
  39. package/dist/provider/utils.d.ts +4 -4
  40. package/dist/provider/utils.js +16 -6
  41. package/dist/signer/default.d.ts +7 -51
  42. package/dist/signer/default.js +16 -181
  43. package/dist/signer/index.d.ts +1 -1
  44. package/dist/signer/index.js +1 -1
  45. package/dist/signer/interface.d.ts +18 -38
  46. package/dist/signer/interface.js +2 -20
  47. package/dist/types/api.d.ts +152 -0
  48. package/dist/{types.js → types/api.js} +0 -0
  49. package/dist/types/index.d.ts +3 -0
  50. package/dist/types/index.js +15 -0
  51. package/dist/types/lib.d.ts +57 -0
  52. package/dist/types/lib.js +2 -0
  53. package/dist/types/signer.d.ts +4 -0
  54. package/dist/types/signer.js +2 -0
  55. package/dist/utils/ellipticCurve.js +1 -1
  56. package/dist/utils/hash.d.ts +12 -2
  57. package/dist/utils/hash.js +37 -9
  58. package/dist/utils/number.d.ts +2 -0
  59. package/dist/utils/number.js +32 -2
  60. package/dist/utils/stark.d.ts +2 -9
  61. package/dist/utils/stark.js +44 -14
  62. package/dist/utils/transaction.d.ts +19 -0
  63. package/dist/utils/transaction.js +75 -0
  64. package/dist/utils/typedData/index.d.ts +1 -1
  65. package/dist/utils/typedData/index.js +2 -3
  66. package/index.d.ts +1 -0
  67. package/index.js +1 -0
  68. package/package.json +9 -3
  69. package/provider/default.d.ts +40 -25
  70. package/provider/default.js +232 -180
  71. package/provider/interface.d.ts +28 -34
  72. package/provider/utils.d.ts +4 -4
  73. package/provider/utils.js +15 -6
  74. package/signer/default.d.ts +11 -51
  75. package/signer/default.js +21 -236
  76. package/signer/index.d.ts +1 -1
  77. package/signer/index.js +1 -1
  78. package/signer/interface.d.ts +22 -38
  79. package/signer/interface.js +3 -32
  80. package/src/account/default.ts +130 -0
  81. package/src/account/index.ts +2 -0
  82. package/src/account/interface.ts +91 -0
  83. package/src/contract.ts +246 -77
  84. package/src/index.ts +1 -0
  85. package/src/provider/default.ts +150 -107
  86. package/src/provider/interface.ts +28 -34
  87. package/src/provider/utils.ts +16 -6
  88. package/src/signer/default.ts +26 -124
  89. package/src/signer/index.ts +1 -1
  90. package/src/signer/interface.ts +22 -42
  91. package/src/types/api.ts +176 -0
  92. package/src/types/index.ts +3 -0
  93. package/src/types/lib.ts +72 -0
  94. package/src/types/signer.ts +5 -0
  95. package/src/utils/ellipticCurve.ts +1 -1
  96. package/src/utils/hash.ts +39 -12
  97. package/src/utils/number.ts +12 -1
  98. package/src/utils/stark.ts +14 -15
  99. package/src/utils/transaction.ts +50 -0
  100. package/src/utils/typedData/index.ts +2 -3
  101. package/types/api.d.ts +167 -0
  102. package/{types.js → types/api.js} +0 -0
  103. package/types/index.d.ts +3 -0
  104. package/types/index.js +28 -0
  105. package/types/lib.d.ts +64 -0
  106. package/types/lib.js +2 -0
  107. package/types/signer.d.ts +4 -0
  108. package/types/signer.js +2 -0
  109. package/utils/ellipticCurve.js +1 -1
  110. package/utils/hash.d.ts +15 -6
  111. package/utils/hash.js +42 -10
  112. package/utils/number.d.ts +4 -0
  113. package/utils/number.js +54 -2
  114. package/utils/stark.d.ts +2 -9
  115. package/utils/stark.js +64 -15
  116. package/utils/transaction.d.ts +19 -0
  117. package/utils/transaction.js +99 -0
  118. package/utils/typedData/index.d.ts +1 -1
  119. package/utils/typedData/index.js +2 -3
  120. package/__tests__/signer.test.ts +0 -125
  121. package/dist/types.d.ts +0 -109
  122. package/src/types.ts +0 -131
  123. package/types.d.ts +0 -116
package/.eslintrc CHANGED
@@ -18,7 +18,9 @@
18
18
  },
19
19
  "plugins": ["@typescript-eslint"],
20
20
  "rules": {
21
+ "class-methods-use-this": 0,
21
22
  "import/prefer-default-export": 0,
22
- "@typescript-eslint/naming-convention": 0
23
+ "@typescript-eslint/naming-convention": 0,
24
+ "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }]
23
25
  }
24
26
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,47 @@
1
+ # [3.2.0](https://github.com/seanjameshan/starknet.js/compare/v3.1.0...v3.2.0) (2022-03-04)
2
+
3
+ ### Features
4
+
5
+ - **account:** initial multicall support ([e2e3d61](https://github.com/seanjameshan/starknet.js/commit/e2e3d61dcc5377c2a6603f4740d4420be7a719e1))
6
+ - **signer:** always return string signatures ([0e9dd6c](https://github.com/seanjameshan/starknet.js/commit/0e9dd6c1c35aac6ad3eb3cc2ebb6212e0f5f809a))
7
+
8
+ # [3.1.0](https://github.com/seanjameshan/starknet.js/compare/v3.0.0...v3.1.0) (2022-02-22)
9
+
10
+ ### Bug Fixes
11
+
12
+ - **test:** adding tests for type transferormation ([60d5eb6](https://github.com/seanjameshan/starknet.js/commit/60d5eb614721543be7fbaa842e8872a70564ebb2))
13
+ - **tests:** adding multicall contract ([138b29d](https://github.com/seanjameshan/starknet.js/commit/138b29d60cbc1eae6fa8f6f7dbf232bc11975e9a))
14
+
15
+ ### Features
16
+
17
+ - **contract:** adding jsDocs to the contract class ([d9ec6d3](https://github.com/seanjameshan/starknet.js/commit/d9ec6d3ea3cc0dbf3538fb2fe7b5e1d8a8831490))
18
+ - **contract:** adding parse request data on call and invoke ([e6d46dc](https://github.com/seanjameshan/starknet.js/commit/e6d46dc39f8d7da6ed1bef2c5074377402810eb9))
19
+ - **contract:** parsing response from the contract call ([3f7425f](https://github.com/seanjameshan/starknet.js/commit/3f7425ff0ac29dda2a7c9373856a4aa20002af9b))
20
+
21
+ # [3.0.0](https://github.com/seanjameshan/starknet.js/compare/v2.9.0...v3.0.0) (2022-02-10)
22
+
23
+ ### Bug Fixes
24
+
25
+ - **account:** dont allow additional signatures in execute ([ac02d46](https://github.com/seanjameshan/starknet.js/commit/ac02d46c5759904886f56a7b9e7e2686dbf52d4c))
26
+ - comments ([f261120](https://github.com/seanjameshan/starknet.js/commit/f261120e1971710cde8f95bd17a5869860db8160))
27
+ - review comments ([ee93bd6](https://github.com/seanjameshan/starknet.js/commit/ee93bd6e51eabcf3507a77d21c5bdc6fe93d5d1c))
28
+ - **test:** remove only for getTransactionReceipt test ([eb11d3b](https://github.com/seanjameshan/starknet.js/commit/eb11d3b60f434f81390f4d13c0462ad8c7ed7321))
29
+ - **types:** change type of `block_number` from `number` to `BlockNumber` in TransactionReceipt ([7a48ff8](https://github.com/seanjameshan/starknet.js/commit/7a48ff8e15a93a778fec62fdff10f92b1a073dec))
30
+ - **types:** update TransactionReceipt type ([9f9f6a2](https://github.com/seanjameshan/starknet.js/commit/9f9f6a2f4cf3b8bfb438edda06ec38bd1471c03d))
31
+
32
+ ### Features
33
+
34
+ - **account:** introduce execute method ([0be78c6](https://github.com/seanjameshan/starknet.js/commit/0be78c67a40d0b457c571a57a8b49008f5e423de))
35
+ - **contract:** add an option to pass block identifier ([e34dd86](https://github.com/seanjameshan/starknet.js/commit/e34dd86c07495b7b8c38ee410838e15226a7b8d6))
36
+ - new signer and provider interface ([4b2a71c](https://github.com/seanjameshan/starknet.js/commit/4b2a71c578e363b11abb1c3adb74472bbb9f73fe))
37
+ - **provider:** add getTransactionReceipt() ([4267a5f](https://github.com/seanjameshan/starknet.js/commit/4267a5f5cec77bb4b09b2e8b4979ec0ee611d416))
38
+ - split account and signer ([ca4ad9d](https://github.com/seanjameshan/starknet.js/commit/ca4ad9d62aee8b0637096eb3059e96dd4407f663))
39
+ - update readme ([ed021dc](https://github.com/seanjameshan/starknet.js/commit/ed021dc25a394affec8ea92ed79eed4c68a040d8))
40
+
41
+ ### BREAKING CHANGES
42
+
43
+ - new provider and signer interfaces
44
+
1
45
  # [2.9.0](https://github.com/seanjameshan/starknet.js/compare/v2.8.0...v2.9.0) (2022-02-04)
2
46
 
3
47
  ### Bug Fixes
package/README.md CHANGED
@@ -40,6 +40,8 @@ Install starknet with `npm`
40
40
 
41
41
  ```bash
42
42
  $ npm install starknet
43
+ # or
44
+ $ npm install starknet@next
43
45
  ```
44
46
 
45
47
  Import `starknet` and use the [API](https://www.starknetjs.com/modules.html)
@@ -54,16 +56,18 @@ const CONTRACT_ADDRESS =
54
56
  "0x03e19baa6cb2078631bcdb34844f3f7879449a544c9ce722681a54af08cff4b9";
55
57
 
56
58
  /**
57
- * addTransaction() example
59
+ * invokeFunction() example
58
60
  **/
59
61
 
60
62
  /** Reset the liquidity pool **/
61
- const addTokenResponse = await defaultProvider.addTransaction({
62
- type: "INVOKE_FUNCTION",
63
- contract_address: CONTRACT_ADDRESS,
64
- entry_point_selector: getSelectorFromName("init_pool"),
65
- calldata: ["1000000", "1000000"],
66
- });
63
+ const addTokenResponse = await defaultProvider.invokeFunction(
64
+ {
65
+ contractAddress: CONTRACT_ADDRESS,
66
+ entrypoint: "init_pool",
67
+ calldata: ["1000000", "1000000"],
68
+ },
69
+ abi // for displaying purposes only (default implementation has no display/ui)
70
+ );
67
71
  console.log(addTokenResponse);
68
72
 
69
73
  /**
@@ -72,8 +76,8 @@ console.log(addTokenResponse);
72
76
 
73
77
  /** Get the balance of the liquidity pool of token A **/
74
78
  const poolBalanceTokenA = await defaultProvider.callContract({
75
- contract_address: CONTRACT_ADDRESS,
76
- entry_point_selector: getSelectorFromName("get_pool_token_balance"),
79
+ contractAddress: CONTRACT_ADDRESS,
80
+ entrypoint: "get_pool_token_balance",
77
81
  calldata: ["1"],
78
82
  });
79
83
  const balanceA = poolBalanceTokenA.result[0];
@@ -81,16 +85,14 @@ console.log('token a liquidity pool balance: ', parseInt(balanceA, 16));
81
85
 
82
86
  /** Get the balance of the liquidity pool of token B **/
83
87
  const poolBalanceTokenB = await defaultProvider.callContract({
84
- contract_address: CONTRACT_ADDRESS,
85
- entry_point_selector: getSelectorFromName("get_pool_token_balance"),
88
+ contractAddress: CONTRACT_ADDRESS,
89
+ entrypoint: "get_pool_token_balance",
86
90
  calldata: ["2"],
87
91
  });
88
92
  const balanceB = poolBalanceTokenB.result[0];
89
93
  console.log('token b liquidity pool balance: ', parseInt(balanceB, 16));
90
94
  ```
91
95
 
92
- For more information about **signing transactions**, please take a look at this [pull request](https://github.com/seanjameshan/starknet.js/pull/51)
93
-
94
96
  ## 🌐 API
95
97
 
96
98
  [Click Here](https://www.starknetjs.com/modules.html)
@@ -113,6 +115,6 @@ This library would not be possible without these rockstars.
113
115
 
114
116
  ## 📜 License
115
117
 
116
- Copyright (c) 2021 Sean James Han
118
+ Copyright (c) 2022 0xs34n
117
119
 
118
120
  Licensed under the [MIT license](https://github.com/seanjameshan/starknet.js/blob/main/LICENSE).