starknet 3.18.2 → 3.19.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 (158) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/__tests__/account.test.ts +11 -56
  3. package/__tests__/contract.test.ts +11 -49
  4. package/__tests__/defaultProvider.test.ts +321 -0
  5. package/__tests__/fixtures.ts +32 -11
  6. package/__tests__/rpcProvider.test.ts +17 -0
  7. package/__tests__/sequencerProvider.test.ts +45 -0
  8. package/account/default.d.ts +54 -77
  9. package/account/default.js +271 -596
  10. package/account/index.js +18 -31
  11. package/account/interface.d.ts +66 -95
  12. package/account/interface.js +20 -30
  13. package/constants.d.ts +17 -19
  14. package/constants.js +2038 -2059
  15. package/contract/contractFactory.d.ts +25 -29
  16. package/contract/contractFactory.js +94 -210
  17. package/contract/default.d.ts +117 -146
  18. package/contract/default.js +582 -776
  19. package/contract/index.js +19 -32
  20. package/contract/interface.d.ts +72 -92
  21. package/contract/interface.js +6 -5
  22. package/dist/account/default.d.ts +5 -9
  23. package/dist/account/default.js +35 -169
  24. package/dist/account/interface.d.ts +3 -15
  25. package/dist/contract/contractFactory.js +4 -4
  26. package/dist/contract/default.d.ts +3 -3
  27. package/dist/contract/default.js +3 -2
  28. package/dist/contract/interface.d.ts +2 -2
  29. package/dist/provider/default.d.ts +18 -134
  30. package/dist/provider/default.js +47 -411
  31. package/dist/provider/index.d.ts +2 -0
  32. package/dist/provider/index.js +2 -0
  33. package/dist/provider/interface.d.ts +45 -50
  34. package/dist/provider/rpc.d.ts +57 -0
  35. package/dist/provider/rpc.js +364 -0
  36. package/dist/provider/sequencer.d.ts +66 -0
  37. package/dist/provider/sequencer.js +443 -0
  38. package/dist/types/account.d.ts +2 -3
  39. package/dist/types/api/index.d.ts +16 -0
  40. package/dist/types/api/index.js +18 -0
  41. package/dist/types/api/rpc.d.ts +221 -0
  42. package/dist/types/{api.js → api/rpc.js} +0 -0
  43. package/dist/types/api/sequencer.d.ts +289 -0
  44. package/dist/types/api/sequencer.js +2 -0
  45. package/dist/types/index.d.ts +3 -1
  46. package/dist/types/index.js +15 -1
  47. package/dist/types/lib.d.ts +3 -1
  48. package/dist/types/provider.d.ts +86 -0
  49. package/dist/types/provider.js +2 -0
  50. package/dist/utils/provider.d.ts +4 -0
  51. package/dist/utils/provider.js +38 -0
  52. package/dist/utils/responseParser/index.d.ts +11 -0
  53. package/dist/utils/responseParser/index.js +9 -0
  54. package/dist/utils/responseParser/rpc.d.ts +13 -0
  55. package/dist/utils/responseParser/rpc.js +96 -0
  56. package/dist/utils/responseParser/sequencer.d.ts +13 -0
  57. package/dist/utils/responseParser/sequencer.js +124 -0
  58. package/index.js +42 -75
  59. package/package.json +1 -1
  60. package/provider/default.d.ts +21 -175
  61. package/provider/default.js +139 -704
  62. package/provider/errors.d.ts +4 -4
  63. package/provider/errors.js +30 -40
  64. package/provider/index.d.ts +2 -0
  65. package/provider/index.js +22 -33
  66. package/provider/interface.d.ts +104 -131
  67. package/provider/interface.js +6 -5
  68. package/provider/rpc.d.ts +57 -0
  69. package/provider/rpc.js +364 -0
  70. package/provider/sequencer.d.ts +66 -0
  71. package/provider/sequencer.js +443 -0
  72. package/provider/utils.d.ts +7 -9
  73. package/provider/utils.js +39 -44
  74. package/signer/default.d.ts +5 -9
  75. package/signer/default.js +72 -177
  76. package/signer/index.js +18 -31
  77. package/signer/interface.d.ts +29 -33
  78. package/signer/interface.js +6 -5
  79. package/src/account/default.ts +26 -146
  80. package/src/account/interface.ts +5 -20
  81. package/src/contract/contractFactory.ts +3 -6
  82. package/src/contract/default.ts +6 -4
  83. package/src/contract/interface.ts +2 -2
  84. package/src/provider/default.ts +63 -395
  85. package/src/provider/index.ts +2 -0
  86. package/src/provider/interface.ts +68 -63
  87. package/src/provider/rpc.ts +300 -0
  88. package/src/provider/sequencer.ts +384 -0
  89. package/src/types/account.ts +2 -3
  90. package/src/types/api/index.ts +17 -0
  91. package/src/types/api/rpc.ts +247 -0
  92. package/src/types/api/sequencer.ts +331 -0
  93. package/src/types/index.ts +3 -1
  94. package/src/types/lib.ts +3 -1
  95. package/src/types/provider.ts +108 -0
  96. package/src/utils/provider.ts +28 -0
  97. package/src/utils/responseParser/index.ts +28 -0
  98. package/src/utils/responseParser/rpc.ts +93 -0
  99. package/src/utils/responseParser/sequencer.ts +127 -0
  100. package/types/account.d.ts +5 -7
  101. package/types/account.js +2 -2
  102. package/types/api/index.d.ts +16 -0
  103. package/types/api/index.js +18 -0
  104. package/types/api/rpc.d.ts +221 -0
  105. package/types/api/rpc.js +2 -0
  106. package/types/api/sequencer.d.ts +289 -0
  107. package/types/api/sequencer.js +2 -0
  108. package/types/contract.d.ts +1 -1
  109. package/types/contract.js +2 -2
  110. package/types/index.d.ts +3 -1
  111. package/types/index.js +35 -34
  112. package/types/lib.d.ts +36 -41
  113. package/types/lib.js +2 -2
  114. package/types/provider.d.ts +86 -0
  115. package/types/provider.js +2 -0
  116. package/types/signer.d.ts +2 -2
  117. package/types/signer.js +2 -2
  118. package/utils/address.js +26 -37
  119. package/utils/ellipticCurve.d.ts +1 -6
  120. package/utils/ellipticCurve.js +73 -137
  121. package/utils/encode.js +49 -85
  122. package/utils/hash.d.ts +4 -31
  123. package/utils/hash.js +76 -141
  124. package/utils/json.d.ts +13 -45
  125. package/utils/json.js +15 -22
  126. package/utils/number.d.ts +2 -9
  127. package/utils/number.js +47 -81
  128. package/utils/provider.d.ts +4 -0
  129. package/utils/provider.js +38 -0
  130. package/utils/responseParser/index.d.ts +11 -0
  131. package/utils/responseParser/index.js +9 -0
  132. package/utils/responseParser/rpc.d.ts +13 -0
  133. package/utils/responseParser/rpc.js +96 -0
  134. package/utils/responseParser/sequencer.d.ts +13 -0
  135. package/utils/responseParser/sequencer.js +124 -0
  136. package/utils/shortString.js +13 -21
  137. package/utils/stark.d.ts +0 -1
  138. package/utils/stark.js +59 -93
  139. package/utils/transaction.d.ts +3 -6
  140. package/utils/transaction.js +50 -81
  141. package/utils/typedData/index.d.ts +3 -15
  142. package/utils/typedData/index.js +109 -175
  143. package/utils/typedData/types.d.ts +9 -9
  144. package/utils/typedData/types.js +2 -2
  145. package/utils/typedData/utils.js +6 -6
  146. package/utils/uint256.d.ts +5 -5
  147. package/utils/uint256.js +16 -26
  148. package/www/docs/API/account.md +3 -4
  149. package/www/docs/API/contract.md +2 -2
  150. package/www/docs/API/contractFactory.md +2 -2
  151. package/www/docs/API/provider.md +185 -74
  152. package/www/guides/account.md +1 -8
  153. package/www/guides/erc20.md +3 -0
  154. package/__tests__/provider.test.ts +0 -168
  155. package/dist/types/api.d.ts +0 -261
  156. package/src/types/api.ts +0 -303
  157. package/types/api.d.ts +0 -287
  158. 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 });