starknet 3.18.1 → 4.0.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 (159) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +1 -1
  3. package/__tests__/account.test.ts +11 -56
  4. package/__tests__/contract.test.ts +11 -49
  5. package/__tests__/defaultProvider.test.ts +321 -0
  6. package/__tests__/fixtures.ts +32 -11
  7. package/__tests__/rpcProvider.test.ts +17 -0
  8. package/__tests__/sequencerProvider.test.ts +45 -0
  9. package/account/default.d.ts +54 -77
  10. package/account/default.js +271 -596
  11. package/account/index.js +18 -31
  12. package/account/interface.d.ts +66 -95
  13. package/account/interface.js +20 -30
  14. package/constants.d.ts +17 -19
  15. package/constants.js +2038 -2059
  16. package/contract/contractFactory.d.ts +25 -29
  17. package/contract/contractFactory.js +94 -210
  18. package/contract/default.d.ts +117 -146
  19. package/contract/default.js +582 -776
  20. package/contract/index.js +19 -32
  21. package/contract/interface.d.ts +72 -92
  22. package/contract/interface.js +6 -5
  23. package/dist/account/default.d.ts +5 -9
  24. package/dist/account/default.js +35 -169
  25. package/dist/account/interface.d.ts +3 -15
  26. package/dist/contract/contractFactory.js +4 -4
  27. package/dist/contract/default.d.ts +3 -3
  28. package/dist/contract/default.js +3 -2
  29. package/dist/contract/interface.d.ts +2 -2
  30. package/dist/provider/default.d.ts +18 -134
  31. package/dist/provider/default.js +47 -410
  32. package/dist/provider/index.d.ts +2 -0
  33. package/dist/provider/index.js +2 -0
  34. package/dist/provider/interface.d.ts +45 -50
  35. package/dist/provider/rpc.d.ts +57 -0
  36. package/dist/provider/rpc.js +364 -0
  37. package/dist/provider/sequencer.d.ts +66 -0
  38. package/dist/provider/sequencer.js +443 -0
  39. package/dist/types/account.d.ts +2 -3
  40. package/dist/types/api/index.d.ts +16 -0
  41. package/dist/types/api/index.js +18 -0
  42. package/dist/types/api/rpc.d.ts +221 -0
  43. package/dist/types/{api.js → api/rpc.js} +0 -0
  44. package/dist/types/api/sequencer.d.ts +289 -0
  45. package/dist/types/api/sequencer.js +2 -0
  46. package/dist/types/index.d.ts +3 -1
  47. package/dist/types/index.js +15 -1
  48. package/dist/types/lib.d.ts +3 -1
  49. package/dist/types/provider.d.ts +86 -0
  50. package/dist/types/provider.js +2 -0
  51. package/dist/utils/provider.d.ts +4 -0
  52. package/dist/utils/provider.js +38 -0
  53. package/dist/utils/responseParser/index.d.ts +11 -0
  54. package/dist/utils/responseParser/index.js +9 -0
  55. package/dist/utils/responseParser/rpc.d.ts +13 -0
  56. package/dist/utils/responseParser/rpc.js +96 -0
  57. package/dist/utils/responseParser/sequencer.d.ts +13 -0
  58. package/dist/utils/responseParser/sequencer.js +124 -0
  59. package/index.js +42 -75
  60. package/package.json +1 -1
  61. package/provider/default.d.ts +21 -175
  62. package/provider/default.js +139 -703
  63. package/provider/errors.d.ts +4 -4
  64. package/provider/errors.js +30 -40
  65. package/provider/index.d.ts +2 -0
  66. package/provider/index.js +22 -33
  67. package/provider/interface.d.ts +104 -131
  68. package/provider/interface.js +6 -5
  69. package/provider/rpc.d.ts +57 -0
  70. package/provider/rpc.js +364 -0
  71. package/provider/sequencer.d.ts +66 -0
  72. package/provider/sequencer.js +443 -0
  73. package/provider/utils.d.ts +7 -9
  74. package/provider/utils.js +39 -44
  75. package/signer/default.d.ts +5 -9
  76. package/signer/default.js +72 -177
  77. package/signer/index.js +18 -31
  78. package/signer/interface.d.ts +29 -33
  79. package/signer/interface.js +6 -5
  80. package/src/account/default.ts +26 -146
  81. package/src/account/interface.ts +5 -20
  82. package/src/contract/contractFactory.ts +3 -6
  83. package/src/contract/default.ts +6 -4
  84. package/src/contract/interface.ts +2 -2
  85. package/src/provider/default.ts +63 -394
  86. package/src/provider/index.ts +2 -0
  87. package/src/provider/interface.ts +68 -63
  88. package/src/provider/rpc.ts +300 -0
  89. package/src/provider/sequencer.ts +384 -0
  90. package/src/types/account.ts +2 -3
  91. package/src/types/api/index.ts +17 -0
  92. package/src/types/api/rpc.ts +247 -0
  93. package/src/types/api/sequencer.ts +331 -0
  94. package/src/types/index.ts +3 -1
  95. package/src/types/lib.ts +3 -1
  96. package/src/types/provider.ts +108 -0
  97. package/src/utils/provider.ts +28 -0
  98. package/src/utils/responseParser/index.ts +28 -0
  99. package/src/utils/responseParser/rpc.ts +93 -0
  100. package/src/utils/responseParser/sequencer.ts +127 -0
  101. package/types/account.d.ts +5 -7
  102. package/types/account.js +2 -2
  103. package/types/api/index.d.ts +16 -0
  104. package/types/api/index.js +18 -0
  105. package/types/api/rpc.d.ts +221 -0
  106. package/types/api/rpc.js +2 -0
  107. package/types/api/sequencer.d.ts +289 -0
  108. package/types/api/sequencer.js +2 -0
  109. package/types/contract.d.ts +1 -1
  110. package/types/contract.js +2 -2
  111. package/types/index.d.ts +3 -1
  112. package/types/index.js +35 -34
  113. package/types/lib.d.ts +36 -41
  114. package/types/lib.js +2 -2
  115. package/types/provider.d.ts +86 -0
  116. package/types/provider.js +2 -0
  117. package/types/signer.d.ts +2 -2
  118. package/types/signer.js +2 -2
  119. package/utils/address.js +26 -37
  120. package/utils/ellipticCurve.d.ts +1 -6
  121. package/utils/ellipticCurve.js +73 -137
  122. package/utils/encode.js +49 -85
  123. package/utils/hash.d.ts +4 -31
  124. package/utils/hash.js +76 -141
  125. package/utils/json.d.ts +13 -45
  126. package/utils/json.js +15 -22
  127. package/utils/number.d.ts +2 -9
  128. package/utils/number.js +47 -81
  129. package/utils/provider.d.ts +4 -0
  130. package/utils/provider.js +38 -0
  131. package/utils/responseParser/index.d.ts +11 -0
  132. package/utils/responseParser/index.js +9 -0
  133. package/utils/responseParser/rpc.d.ts +13 -0
  134. package/utils/responseParser/rpc.js +96 -0
  135. package/utils/responseParser/sequencer.d.ts +13 -0
  136. package/utils/responseParser/sequencer.js +124 -0
  137. package/utils/shortString.js +13 -21
  138. package/utils/stark.d.ts +0 -1
  139. package/utils/stark.js +59 -93
  140. package/utils/transaction.d.ts +3 -6
  141. package/utils/transaction.js +50 -81
  142. package/utils/typedData/index.d.ts +3 -15
  143. package/utils/typedData/index.js +109 -175
  144. package/utils/typedData/types.d.ts +9 -9
  145. package/utils/typedData/types.js +2 -2
  146. package/utils/typedData/utils.js +6 -6
  147. package/utils/uint256.d.ts +5 -5
  148. package/utils/uint256.js +16 -26
  149. package/www/docs/API/account.md +3 -4
  150. package/www/docs/API/contract.md +2 -2
  151. package/www/docs/API/contractFactory.md +2 -2
  152. package/www/docs/API/provider.md +185 -74
  153. package/www/guides/account.md +1 -8
  154. package/www/guides/erc20.md +3 -0
  155. package/__tests__/provider.test.ts +0 -168
  156. package/dist/types/api.d.ts +0 -261
  157. package/src/types/api.ts +0 -303
  158. package/types/api.d.ts +0 -287
  159. package/types/api.js +0 -2
package/types/api.d.ts DELETED
@@ -1,287 +0,0 @@
1
- import BN from 'bn.js';
2
-
3
- import { BlockIdentifier } from '../provider/utils';
4
- import { BigNumberish } from '../utils/number';
5
- import {
6
- Abi,
7
- BlockNumber,
8
- CompressedCompiledContract,
9
- EntryPointType,
10
- RawCalldata,
11
- Signature,
12
- Status,
13
- TransactionStatus,
14
- } from './lib';
15
- export declare type Endpoints = {
16
- get_contract_addresses: {
17
- QUERY: never;
18
- REQUEST: never;
19
- RESPONSE: GetContractAddressesResponse;
20
- };
21
- add_transaction: {
22
- QUERY: never;
23
- REQUEST: Transaction;
24
- RESPONSE: AddTransactionResponse;
25
- };
26
- get_transaction: {
27
- QUERY: {
28
- transactionHash: string;
29
- };
30
- REQUEST: never;
31
- RESPONSE: GetTransactionResponse;
32
- };
33
- get_transaction_status: {
34
- QUERY: {
35
- transactionHash: string;
36
- };
37
- REQUEST: never;
38
- RESPONSE: GetTransactionStatusResponse;
39
- };
40
- get_transaction_trace: {
41
- QUERY: {
42
- transactionHash: string;
43
- };
44
- REQUEST: never;
45
- RESPONSE: GetTransactionTraceResponse;
46
- };
47
- get_transaction_receipt: {
48
- QUERY: {
49
- transactionHash: string;
50
- };
51
- REQUEST: never;
52
- RESPONSE: TransactionReceiptResponse;
53
- };
54
- get_storage_at: {
55
- QUERY: {
56
- contractAddress: string;
57
- key: BigNumberish;
58
- blockIdentifier: BlockIdentifier;
59
- };
60
- REQUEST: never;
61
- RESPONSE: object;
62
- };
63
- get_code: {
64
- QUERY: {
65
- contractAddress: string;
66
- blockIdentifier: BlockIdentifier;
67
- };
68
- REQUEST: never;
69
- RESPONSE: GetCodeResponse;
70
- };
71
- get_block: {
72
- QUERY: {
73
- blockIdentifier: BlockIdentifier;
74
- };
75
- REQUEST: never;
76
- RESPONSE: GetBlockResponse;
77
- };
78
- call_contract: {
79
- QUERY: {
80
- blockIdentifier: BlockIdentifier;
81
- };
82
- REQUEST: CallContractTransaction;
83
- RESPONSE: CallContractResponse;
84
- };
85
- estimate_fee: {
86
- QUERY: {
87
- blockIdentifier: BlockIdentifier;
88
- };
89
- REQUEST: CallContractTransaction;
90
- RESPONSE: EstimateFeeResponse;
91
- };
92
- };
93
- export declare type GetContractAddressesResponse = {
94
- Starknet: string;
95
- GpsStatementVerifier: string;
96
- };
97
- export declare type DeclareTransaction = {
98
- type: 'DECLARE';
99
- contract_class: CompressedCompiledContract;
100
- nonce: BigNumberish;
101
- sender_address: BigNumberish;
102
- signature: Signature;
103
- };
104
- export declare type DeployTransaction = {
105
- type: 'DEPLOY';
106
- contract_definition: CompressedCompiledContract;
107
- contract_address_salt: BigNumberish;
108
- constructor_calldata: string[];
109
- nonce?: BigNumberish;
110
- };
111
- export declare type InvokeFunctionTransaction = {
112
- type: 'INVOKE_FUNCTION';
113
- contract_address: string;
114
- signature?: Signature;
115
- entry_point_type?: EntryPointType;
116
- entry_point_selector: string;
117
- calldata?: RawCalldata;
118
- nonce?: BigNumberish;
119
- max_fee?: BigNumberish;
120
- version?: BigNumberish;
121
- };
122
- export interface InvokeFunctionTransactionResponse extends InvokeFunctionTransaction {
123
- transaction_hash: string;
124
- }
125
- export declare type InvokeFunctionTrace = {
126
- caller_address: string;
127
- contract_address: string;
128
- code_address: string;
129
- selector: string;
130
- calldata: RawCalldata;
131
- result: Array<any>;
132
- execution_resources: ExecutionResources;
133
- internal_call: Array<InvokeFunctionTrace>;
134
- events: Array<any>;
135
- messages: Array<any>;
136
- };
137
- export declare type ExecutionResources = {
138
- n_steps: number;
139
- builtin_instance_counter: {
140
- pedersen_builtin: number;
141
- range_check_builtin: number;
142
- bitwise_builtin: number;
143
- output_builtin: number;
144
- ecdsa_builtin: number;
145
- ec_op_builtin?: number;
146
- };
147
- n_memory_holes: number;
148
- };
149
- export declare type CallContractTransaction = Omit<
150
- InvokeFunctionTransaction,
151
- 'type' | 'entry_point_type' | 'nonce'
152
- >;
153
- export declare type Transaction =
154
- | DeclareTransaction
155
- | DeployTransaction
156
- | InvokeFunctionTransaction;
157
- export declare type TransactionResponse =
158
- | DeclareTransaction
159
- | DeployTransaction
160
- | InvokeFunctionTransactionResponse;
161
- export declare type CallContractResponse = {
162
- result: string[];
163
- };
164
- export declare type GetBlockResponse = {
165
- block_number: number;
166
- state_root: string;
167
- block_hash: string;
168
- transactions: {
169
- [txHash: string]: TransactionResponse;
170
- };
171
- timestamp: number;
172
- transaction_receipts: {
173
- [txHash: string]: {
174
- block_hash: string;
175
- transaction_hash: string;
176
- l2_to_l1_messages: {
177
- to_address: string;
178
- payload: string[];
179
- from_address: string;
180
- }[];
181
- block_number: BlockNumber;
182
- status: Status;
183
- transaction_index: number;
184
- };
185
- };
186
- parent_block_hash: string;
187
- status: Status;
188
- gas_price: string;
189
- starknet_version?: string;
190
- };
191
- export declare type GetCodeResponse = {
192
- bytecode: string[];
193
- abi: Abi;
194
- };
195
- export declare type GetTransactionStatusResponse = {
196
- tx_status: Status;
197
- block_hash?: string;
198
- tx_failure_reason?: {
199
- code: string;
200
- error_message: string;
201
- };
202
- };
203
- export declare type GetTransactionTraceResponse = {
204
- function_invocation: {
205
- caller_address: string;
206
- contract_address: string;
207
- code_address: string;
208
- selector: string;
209
- calldata: RawArgs;
210
- result: Array<any>;
211
- execution_resources: ExecutionResources;
212
- internal_call: Array<any>;
213
- events: Array<any>;
214
- messages: Array<any>;
215
- };
216
- signature: Signature;
217
- };
218
- export declare type SuccessfulTransactionResponse = {
219
- status: Status;
220
- transaction: TransactionResponse;
221
- block_hash: string;
222
- block_number: BlockNumber;
223
- transaction_index: number;
224
- };
225
- export declare type FailedTransactionResponse = {
226
- status: 'REJECTED';
227
- transaction_failure_reason: {
228
- code: string;
229
- error_message: string;
230
- };
231
- transaction: TransactionResponse;
232
- };
233
- export declare type GetTransactionResponse =
234
- | SuccessfulTransactionResponse
235
- | FailedTransactionResponse;
236
- export declare type AddTransactionResponse = {
237
- code: TransactionStatus;
238
- transaction_hash: string;
239
- address?: string;
240
- class_hash?: string;
241
- };
242
- export declare type SuccessfulTransactionReceiptResponse = {
243
- status: Status;
244
- transaction_hash: string;
245
- transaction_index: number;
246
- block_hash: string;
247
- block_number: BlockNumber;
248
- l2_to_l1_messages: string[];
249
- events: string[];
250
- actual_fee: string;
251
- execution_resources: ExecutionResources;
252
- };
253
- export declare type FailedTransactionReceiptResponse = {
254
- status: 'REJECTED';
255
- transaction_failure_reason: {
256
- code: string;
257
- error_message: string;
258
- };
259
- transaction_hash: string;
260
- l2_to_l1_messages: string[];
261
- events: string[];
262
- };
263
- export declare type TransactionReceiptResponse =
264
- | SuccessfulTransactionReceiptResponse
265
- | FailedTransactionReceiptResponse;
266
- export declare type EstimateFeeResponse = {
267
- overall_fee?: BN;
268
- amount?: BN;
269
- unit: string;
270
- gas_price?: BN;
271
- gas_usage?: BigNumberish;
272
- };
273
- export declare type RawArgs = {
274
- [inputName: string]:
275
- | string
276
- | string[]
277
- | {
278
- type: 'struct';
279
- [k: string]: BigNumberish;
280
- };
281
- };
282
- export declare type Calldata = string[];
283
- export declare type Overrides = {
284
- maxFee?: BigNumberish;
285
- nonce?: BigNumberish;
286
- signature?: Signature;
287
- };
package/types/api.js DELETED
@@ -1,2 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });