starknet 3.18.2 → 4.0.1
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.
- package/CHANGELOG.md +70 -0
- package/README.md +1 -2
- package/__tests__/account.test.ts +11 -56
- package/__tests__/contract.test.ts +11 -49
- package/__tests__/defaultProvider.test.ts +321 -0
- package/__tests__/fixtures.ts +32 -11
- package/__tests__/jest.setup.ts +2 -3
- package/__tests__/rpcProvider.test.ts +17 -0
- package/__tests__/sequencerProvider.test.ts +45 -0
- package/account/default.d.ts +54 -77
- package/account/default.js +271 -596
- package/account/index.js +18 -31
- package/account/interface.d.ts +66 -95
- package/account/interface.js +20 -30
- package/constants.d.ts +17 -19
- package/constants.js +2038 -2059
- package/contract/contractFactory.d.ts +25 -29
- package/contract/contractFactory.js +94 -210
- package/contract/default.d.ts +117 -146
- package/contract/default.js +582 -776
- package/contract/index.js +19 -32
- package/contract/interface.d.ts +72 -92
- package/contract/interface.js +6 -5
- package/dist/account/default.d.ts +5 -9
- package/dist/account/default.js +35 -169
- package/dist/account/interface.d.ts +3 -15
- package/dist/contract/contractFactory.js +4 -4
- package/dist/contract/default.d.ts +3 -3
- package/dist/contract/default.js +3 -2
- package/dist/contract/interface.d.ts +2 -2
- package/dist/provider/default.d.ts +18 -134
- package/dist/provider/default.js +47 -411
- package/dist/provider/index.d.ts +2 -0
- package/dist/provider/index.js +2 -0
- package/dist/provider/interface.d.ts +45 -50
- package/dist/provider/rpc.d.ts +57 -0
- package/dist/provider/rpc.js +364 -0
- package/dist/provider/sequencer.d.ts +66 -0
- package/dist/provider/sequencer.js +444 -0
- package/dist/types/account.d.ts +2 -3
- package/dist/types/api/index.d.ts +16 -0
- package/dist/types/api/index.js +18 -0
- package/dist/types/api/rpc.d.ts +221 -0
- package/dist/types/{api.js → api/rpc.js} +0 -0
- package/dist/types/api/sequencer.d.ts +289 -0
- package/dist/types/api/sequencer.js +2 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js +15 -1
- package/dist/types/lib.d.ts +3 -1
- package/dist/types/provider.d.ts +86 -0
- package/dist/types/provider.js +2 -0
- package/dist/utils/fetchPonyfill.d.ts +2 -0
- package/dist/utils/fetchPonyfill.js +6 -0
- package/dist/utils/provider.d.ts +4 -0
- package/dist/utils/provider.js +38 -0
- package/dist/utils/responseParser/index.d.ts +11 -0
- package/dist/utils/responseParser/index.js +9 -0
- package/dist/utils/responseParser/rpc.d.ts +13 -0
- package/dist/utils/responseParser/rpc.js +96 -0
- package/dist/utils/responseParser/sequencer.d.ts +13 -0
- package/dist/utils/responseParser/sequencer.js +124 -0
- package/index.js +42 -75
- package/package.json +2 -3
- package/provider/default.d.ts +21 -175
- package/provider/default.js +139 -704
- package/provider/errors.d.ts +4 -4
- package/provider/errors.js +30 -40
- package/provider/index.d.ts +2 -0
- package/provider/index.js +22 -33
- package/provider/interface.d.ts +104 -131
- package/provider/interface.js +6 -5
- package/provider/rpc.d.ts +57 -0
- package/provider/rpc.js +364 -0
- package/provider/sequencer.d.ts +66 -0
- package/provider/sequencer.js +444 -0
- package/provider/utils.d.ts +7 -9
- package/provider/utils.js +39 -44
- package/signer/default.d.ts +5 -9
- package/signer/default.js +72 -177
- package/signer/index.js +18 -31
- package/signer/interface.d.ts +29 -33
- package/signer/interface.js +6 -5
- package/src/account/default.ts +26 -146
- package/src/account/interface.ts +5 -20
- package/src/contract/contractFactory.ts +3 -6
- package/src/contract/default.ts +6 -4
- package/src/contract/interface.ts +2 -2
- package/src/provider/default.ts +63 -395
- package/src/provider/index.ts +2 -0
- package/src/provider/interface.ts +68 -63
- package/src/provider/rpc.ts +299 -0
- package/src/provider/sequencer.ts +385 -0
- package/src/types/account.ts +2 -3
- package/src/types/api/index.ts +17 -0
- package/src/types/api/rpc.ts +247 -0
- package/src/types/api/sequencer.ts +331 -0
- package/src/types/index.ts +3 -1
- package/src/types/lib.ts +3 -1
- package/src/types/provider.ts +108 -0
- package/src/utils/fetchPonyfill.ts +4 -0
- package/src/utils/provider.ts +28 -0
- package/src/utils/responseParser/index.ts +28 -0
- package/src/utils/responseParser/rpc.ts +93 -0
- package/src/utils/responseParser/sequencer.ts +127 -0
- package/types/account.d.ts +5 -7
- package/types/account.js +2 -2
- package/types/api/index.d.ts +16 -0
- package/types/api/index.js +18 -0
- package/types/api/rpc.d.ts +221 -0
- package/types/api/rpc.js +2 -0
- package/types/api/sequencer.d.ts +289 -0
- package/types/api/sequencer.js +2 -0
- package/types/contract.d.ts +1 -1
- package/types/contract.js +2 -2
- package/types/index.d.ts +3 -1
- package/types/index.js +35 -34
- package/types/lib.d.ts +36 -41
- package/types/lib.js +2 -2
- package/types/provider.d.ts +86 -0
- package/types/provider.js +2 -0
- package/types/signer.d.ts +2 -2
- package/types/signer.js +2 -2
- package/utils/address.js +26 -37
- package/utils/ellipticCurve.d.ts +1 -6
- package/utils/ellipticCurve.js +73 -137
- package/utils/encode.js +49 -85
- package/utils/fetchPonyfill.d.ts +2 -0
- package/utils/fetchPonyfill.js +6 -0
- package/utils/hash.d.ts +4 -31
- package/utils/hash.js +76 -141
- package/utils/json.d.ts +13 -45
- package/utils/json.js +15 -22
- package/utils/number.d.ts +2 -9
- package/utils/number.js +47 -81
- package/utils/provider.d.ts +4 -0
- package/utils/provider.js +38 -0
- package/utils/responseParser/index.d.ts +11 -0
- package/utils/responseParser/index.js +9 -0
- package/utils/responseParser/rpc.d.ts +13 -0
- package/utils/responseParser/rpc.js +96 -0
- package/utils/responseParser/sequencer.d.ts +13 -0
- package/utils/responseParser/sequencer.js +124 -0
- package/utils/shortString.js +13 -21
- package/utils/stark.d.ts +0 -1
- package/utils/stark.js +59 -93
- package/utils/transaction.d.ts +3 -6
- package/utils/transaction.js +50 -81
- package/utils/typedData/index.d.ts +3 -15
- package/utils/typedData/index.js +109 -175
- package/utils/typedData/types.d.ts +9 -9
- package/utils/typedData/types.js +2 -2
- package/utils/typedData/utils.js +6 -6
- package/utils/uint256.d.ts +5 -5
- package/utils/uint256.js +16 -26
- package/www/docs/API/account.md +3 -4
- package/www/docs/API/contract.md +2 -2
- package/www/docs/API/contractFactory.md +2 -2
- package/www/docs/API/provider.md +185 -74
- package/www/guides/account.md +1 -8
- package/www/guides/erc20.md +3 -0
- package/__tests__/provider.test.ts +0 -168
- package/dist/types/api.d.ts +0 -261
- package/src/types/api.ts +0 -303
- package/types/api.d.ts +0 -287
- package/types/api.js +0 -2
package/provider/default.d.ts
CHANGED
|
@@ -1,181 +1,27 @@
|
|
|
1
1
|
import { StarknetChainId } from '../constants';
|
|
2
|
-
import {
|
|
3
|
-
Abi,
|
|
4
|
-
AddTransactionResponse,
|
|
5
|
-
Call,
|
|
6
|
-
CallContractResponse,
|
|
7
|
-
DeclareContractPayload,
|
|
8
|
-
DeployContractPayload,
|
|
9
|
-
Endpoints,
|
|
10
|
-
GetBlockResponse,
|
|
11
|
-
GetCodeResponse,
|
|
12
|
-
GetContractAddressesResponse,
|
|
13
|
-
GetTransactionResponse,
|
|
14
|
-
GetTransactionStatusResponse,
|
|
15
|
-
GetTransactionTraceResponse,
|
|
16
|
-
Invocation,
|
|
17
|
-
TransactionReceiptResponse,
|
|
18
|
-
} from '../types';
|
|
2
|
+
import { BlockTag, Call, CallContractResponse, ContractClass, DeclareContractPayload, DeclareContractResponse, DeployContractPayload, DeployContractResponse, EstimateFeeResponse, GetBlockResponse, GetTransactionReceiptResponse, GetTransactionResponse, Invocation, InvocationsDetails, InvokeFunctionResponse } from '../types';
|
|
19
3
|
import { BigNumberish } from '../utils/number';
|
|
20
4
|
import { ProviderInterface } from './interface';
|
|
5
|
+
import { RpcProviderOptions } from './rpc';
|
|
6
|
+
import { SequencerProviderOptions } from './sequencer';
|
|
21
7
|
import { BlockIdentifier } from './utils';
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
| {
|
|
28
|
-
baseUrl: string;
|
|
29
|
-
};
|
|
8
|
+
export interface ProviderOptions {
|
|
9
|
+
sequencer?: SequencerProviderOptions;
|
|
10
|
+
rpc?: RpcProviderOptions;
|
|
11
|
+
}
|
|
30
12
|
export declare class Provider implements ProviderInterface {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
endpoint: T,
|
|
46
|
-
...[query, request]: Endpoints[T]['QUERY'] extends never
|
|
47
|
-
? Endpoints[T]['REQUEST'] extends never
|
|
48
|
-
? []
|
|
49
|
-
: [undefined, Endpoints[T]['REQUEST']]
|
|
50
|
-
: Endpoints[T]['REQUEST'] extends never
|
|
51
|
-
? [Endpoints[T]['QUERY']]
|
|
52
|
-
: [Endpoints[T]['QUERY'], Endpoints[T]['REQUEST']]
|
|
53
|
-
): Promise<Endpoints[T]['RESPONSE']>;
|
|
54
|
-
/**
|
|
55
|
-
* Gets the smart contract address on the goerli testnet.
|
|
56
|
-
*
|
|
57
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/f464ec4797361b6be8989e36e02ec690e74ef285/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L13-L15)
|
|
58
|
-
* @returns starknet smart contract addresses
|
|
59
|
-
*/
|
|
60
|
-
getContractAddresses(): Promise<GetContractAddressesResponse>;
|
|
61
|
-
/**
|
|
62
|
-
* Calls a function on the StarkNet contract.
|
|
63
|
-
*
|
|
64
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/fc97bdd8322a7df043c87c371634b26c15ed6cee/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L25-L39)
|
|
65
|
-
*
|
|
66
|
-
* @param invokeTransaction - transaction to be invoked
|
|
67
|
-
* @param blockHash
|
|
68
|
-
* @param blockNumber
|
|
69
|
-
* @returns the result of the function on the smart contract.
|
|
70
|
-
*/
|
|
71
|
-
callContract(
|
|
72
|
-
{ contractAddress, entrypoint, calldata }: Call,
|
|
73
|
-
{
|
|
74
|
-
blockIdentifier,
|
|
75
|
-
}?: {
|
|
76
|
-
blockIdentifier?: BlockIdentifier;
|
|
77
|
-
}
|
|
78
|
-
): Promise<CallContractResponse>;
|
|
79
|
-
/**
|
|
80
|
-
* Gets the block information
|
|
81
|
-
*
|
|
82
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/fc97bdd8322a7df043c87c371634b26c15ed6cee/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L41-L53)
|
|
83
|
-
*
|
|
84
|
-
* @param blockHash
|
|
85
|
-
* @param blockNumber
|
|
86
|
-
* @returns the block object { block_number, previous_block_number, state_root, status, timestamp, transaction_receipts, transactions }
|
|
87
|
-
*/
|
|
88
|
-
getBlock(blockIdentifier?: BlockIdentifier): Promise<GetBlockResponse>;
|
|
89
|
-
/**
|
|
90
|
-
* Gets the code of the deployed contract.
|
|
91
|
-
*
|
|
92
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/fc97bdd8322a7df043c87c371634b26c15ed6cee/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L55-L68)
|
|
93
|
-
*
|
|
94
|
-
* @param contractAddress
|
|
95
|
-
* @param blockHash
|
|
96
|
-
* @param blockNumber
|
|
97
|
-
* @returns Bytecode and ABI of compiled contract
|
|
98
|
-
*/
|
|
99
|
-
getCode(contractAddress: string, blockIdentifier?: BlockIdentifier): Promise<GetCodeResponse>;
|
|
100
|
-
/**
|
|
101
|
-
* Gets the contract's storage variable at a specific key.
|
|
102
|
-
*
|
|
103
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/fc97bdd8322a7df043c87c371634b26c15ed6cee/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L70-L85)
|
|
104
|
-
*
|
|
105
|
-
* @param contractAddress
|
|
106
|
-
* @param key - from getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)
|
|
107
|
-
* @param blockHash
|
|
108
|
-
* @param blockNumber
|
|
109
|
-
* @returns the value of the storage variable
|
|
110
|
-
*/
|
|
111
|
-
getStorageAt(
|
|
112
|
-
contractAddress: string,
|
|
113
|
-
key: BigNumberish,
|
|
114
|
-
blockIdentifier?: BlockIdentifier
|
|
115
|
-
): Promise<object>;
|
|
116
|
-
/**
|
|
117
|
-
* Gets the status of a transaction.
|
|
118
|
-
*
|
|
119
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/f464ec4797361b6be8989e36e02ec690e74ef285/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L48-L52)
|
|
120
|
-
*
|
|
121
|
-
* @param txHash
|
|
122
|
-
* @returns the transaction status object { block_number, tx_status: NOT_RECEIVED | RECEIVED | PENDING | REJECTED | ACCEPTED_ONCHAIN }
|
|
123
|
-
*/
|
|
124
|
-
getTransactionStatus(txHash: BigNumberish): Promise<GetTransactionStatusResponse>;
|
|
125
|
-
/**
|
|
126
|
-
* Gets the transaction receipt from a tx hash.
|
|
127
|
-
*
|
|
128
|
-
* [Reference] (https://github.com/starkware-libs/cairo-lang/blob/167b28bcd940fd25ea3816204fa882a0b0a49603/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L183)
|
|
129
|
-
*
|
|
130
|
-
* @param txHash
|
|
131
|
-
* @returns the transaction receipt object
|
|
132
|
-
*/
|
|
133
|
-
getTransactionReceipt(txHash: BigNumberish): Promise<TransactionReceiptResponse>;
|
|
134
|
-
/**
|
|
135
|
-
* Gets the transaction information from a tx id.
|
|
136
|
-
*
|
|
137
|
-
* [Reference](https://github.com/starkware-libs/cairo-lang/blob/f464ec4797361b6be8989e36e02ec690e74ef285/src/starkware/starknet/services/api/feeder_gateway/feeder_gateway_client.py#L54-L58)
|
|
138
|
-
*
|
|
139
|
-
* @param txHash
|
|
140
|
-
* @returns the transacton object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? }
|
|
141
|
-
*/
|
|
142
|
-
getTransaction(txHash: BigNumberish): Promise<GetTransactionResponse>;
|
|
143
|
-
/**
|
|
144
|
-
* Gets the transaction trace from a tx id.
|
|
145
|
-
*
|
|
146
|
-
*
|
|
147
|
-
* @param txHash
|
|
148
|
-
* @returns the transaction trace
|
|
149
|
-
*/
|
|
150
|
-
getTransactionTrace(txHash: BigNumberish): Promise<GetTransactionTraceResponse>;
|
|
151
|
-
/**
|
|
152
|
-
* Declare a given compiled contract (json) on starknet
|
|
153
|
-
*
|
|
154
|
-
* @param contract - a json object containing the compiled contract
|
|
155
|
-
* @returns a confirmation of sending a transaction on the starknet contract
|
|
156
|
-
*/
|
|
157
|
-
declareContract(payload: DeclareContractPayload): Promise<AddTransactionResponse>;
|
|
158
|
-
/**
|
|
159
|
-
* Deploys a given compiled contract (json) to starknet
|
|
160
|
-
*
|
|
161
|
-
* @param contract - a json object containing the compiled contract
|
|
162
|
-
* @param address - (optional, defaults to a random address) the address where the contract should be deployed (alpha)
|
|
163
|
-
* @returns a confirmation of sending a transaction on the starknet contract
|
|
164
|
-
*/
|
|
165
|
-
deployContract(payload: DeployContractPayload, _abi?: Abi): Promise<AddTransactionResponse>;
|
|
166
|
-
/**
|
|
167
|
-
* Invokes a function on starknet
|
|
168
|
-
* @deprecated This method wont be supported as soon as fees are mandatory
|
|
169
|
-
*
|
|
170
|
-
* @param invocation
|
|
171
|
-
* @param _abi - (optional) signature to send along
|
|
172
|
-
* @returns response from addTransaction
|
|
173
|
-
*/
|
|
174
|
-
invokeFunction(invocation: Invocation, _abi?: Abi): Promise<AddTransactionResponse>;
|
|
175
|
-
waitForTransaction(txHash: BigNumberish, retryInterval?: number): Promise<void>;
|
|
176
|
-
/**
|
|
177
|
-
* @deprecated use `waitForTransaction` instead
|
|
178
|
-
*/
|
|
179
|
-
waitForTx(txHash: BigNumberish, retryInterval?: number): Promise<void>;
|
|
13
|
+
private provider;
|
|
14
|
+
constructor(providerOrOptions?: ProviderOptions | ProviderInterface);
|
|
15
|
+
get chainId(): StarknetChainId;
|
|
16
|
+
getBlock(blockIdentifier?: BlockIdentifier): Promise<GetBlockResponse>;
|
|
17
|
+
getClassAt(contractAddress: string, blockIdentifier?: BlockIdentifier): Promise<ContractClass>;
|
|
18
|
+
getEstimateFee(invocation: Invocation, blockIdentifier?: BlockIdentifier, invocationDetails?: InvocationsDetails): Promise<EstimateFeeResponse>;
|
|
19
|
+
getStorageAt(contractAddress: string, key: BigNumberish, blockTagOrHash?: BlockTag | BigNumberish): Promise<BigNumberish>;
|
|
20
|
+
getTransaction(txHash: BigNumberish): Promise<GetTransactionResponse>;
|
|
21
|
+
getTransactionReceipt(txHash: BigNumberish): Promise<GetTransactionReceiptResponse>;
|
|
22
|
+
callContract(request: Call, blockIdentifier?: BlockIdentifier): Promise<CallContractResponse>;
|
|
23
|
+
invokeFunction(functionInvocation: Invocation, details: InvocationsDetails): Promise<InvokeFunctionResponse>;
|
|
24
|
+
deployContract(payload: DeployContractPayload): Promise<DeployContractResponse>;
|
|
25
|
+
declareContract(payload: DeclareContractPayload): Promise<DeclareContractResponse>;
|
|
26
|
+
waitForTransaction(txHash: BigNumberish, retryInterval?: number): Promise<void>;
|
|
180
27
|
}
|
|
181
|
-
export {};
|