Class: ProviderInterface
Hierarchy​
ProviderInterface↳
AccountInterface
Constructors​
constructor​
• new ProviderInterface(): ProviderInterface
Returns​
Properties​
channel​
• Abstract channel: RpcChannel | RpcChannel
Defined in​
Methods​
getChainId​
â–¸ getChainId(): Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">
Gets the Starknet chain Id
Returns​
Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">
the chain Id
Defined in​
callContract​
â–¸ callContract(call, blockIdentifier?): Promise<CallContractResponse>
Calls a function on the Starknet contract.
Parameters​
| Name | Type | Description |
|---|---|---|
call | Call | transaction to be called |
blockIdentifier? | BlockIdentifier | block identifier |
Returns​
Promise<CallContractResponse>
the result of the function on the smart contract.
Defined in​
getBlock​
â–¸ getBlock(blockIdentifier?): Promise<{ transactions: string[] ; parent_hash: string ; timestamp: number ; sequencer_address: string ; l1_gas_price: RESOURCE_PRICE ; l2_gas_price: RESOURCE_PRICE ; l1_data_gas_price: RESOURCE_PRICE ; l1_da_mode: L1_DA_MODE ; starknet_version: string }>
Gets the block information
Parameters​
| Name | Type | Description |
|---|---|---|
blockIdentifier? | "pending" | block identifier |
Returns​
Promise<{ transactions: string[] ; parent_hash: string ; timestamp: number ; sequencer_address: string ; l1_gas_price: RESOURCE_PRICE ; l2_gas_price: RESOURCE_PRICE ; l1_data_gas_price: RESOURCE_PRICE ; l1_da_mode: L1_DA_MODE ; starknet_version: string }>
the block object
Defined in​
â–¸ getBlock(blockIdentifier): Promise<{ status: BLOCK_STATUS ; block_hash: string ; parent_hash: string ; block_number: number ; new_root: string ; timestamp: number ; sequencer_address: string ; l1_gas_price: RESOURCE_PRICE ; l2_gas_price: RESOURCE_PRICE ; l1_data_gas_price: RESOURCE_PRICE ; l1_da_mode: L1_DA_MODE ; starknet_version: string ; transactions: string[] }>
Parameters​
| Name | Type |
|---|---|
blockIdentifier | "latest" |
Returns​
Promise<{ status: BLOCK_STATUS ; block_hash: string ; parent_hash: string ; block_number: number ; new_root: string ; timestamp: number ; sequencer_address: string ; l1_gas_price: RESOURCE_PRICE ; l2_gas_price: RESOURCE_PRICE ; l1_data_gas_price: RESOURCE_PRICE ; l1_da_mode: L1_DA_MODE ; starknet_version: string ; transactions: string[] }>
Defined in​
â–¸ getBlock(blockIdentifier): Promise<GetBlockResponse>
Parameters​
| Name | Type |
|---|---|
blockIdentifier | BlockIdentifier |
Returns​
Promise<GetBlockResponse>
Defined in​
getClassAt​
â–¸ getClassAt(contractAddress, blockIdentifier?): Promise<ContractClassResponse>
Gets the contract class of the deployed contract.
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | string | contract address |
blockIdentifier? | BlockIdentifier | block identifier |
Returns​
Promise<ContractClassResponse>
Contract class of compiled contract
Defined in​
getL1GasPrice​
â–¸ getL1GasPrice(blockIdentifier): Promise<string>
Gets the price of l1 gas in the block
Parameters​
| Name | Type | Description |
|---|---|---|
blockIdentifier | BlockIdentifier | block identifier |
Returns​
Promise<string>
gas price of the block
Defined in​
getL1MessageHash​
â–¸ getL1MessageHash(l2TxHash): Promise<string>
Get L1 message hash from L2 transaction hash
Parameters​
| Name | Type | Description |
|---|---|---|
l2TxHash | BigNumberish | L2 transaction hash |
Returns​
Promise<string>
Hex string of L1 message hash
Example
In Sepolia Testnet :
const result = provider.getL1MessageHash(
'0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'
);
// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a'
Defined in​
getClassHashAt​
â–¸ getClassHashAt(contractAddress, blockIdentifier?): Promise<string>
Returns the contract class hash in the given block for the contract deployed at the given address
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | string | contract address |
blockIdentifier? | BlockIdentifier | block identifier |
Returns​
Promise<string>
Class hash
Defined in​
getClassByHash​
â–¸ getClassByHash(classHash): Promise<ContractClassResponse>
Returns the contract class deployed under the given class hash.
Parameters​
| Name | Type | Description |
|---|---|---|
classHash | string | class hash |
Returns​
Promise<ContractClassResponse>
Contract class of compiled contract
Defined in​
getNonceForAddress​
â–¸ getNonceForAddress(contractAddress, blockIdentifier?): Promise<string>
Returns the nonce associated with the given address in the given block
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | string | contract address |
blockIdentifier? | BlockIdentifier | - |
Returns​
Promise<string>
the hex nonce
Defined in​
getStorageAt​
â–¸ getStorageAt(contractAddress, key, blockIdentifier?): Promise<string>
Get the value of the storage (contract's variable) at the given address and key
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | string | |
key | BigNumberish | from getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP) |
blockIdentifier? | BlockIdentifier | block identifier |
Returns​
Promise<string>
the value of the storage variable
Defined in​
getTransaction​
â–¸ getTransaction(transactionHash): Promise<TransactionWithHash>
Gets the transaction information from a tx id.
Parameters​
| Name | Type |
|---|---|
transactionHash | BigNumberish |
Returns​
Promise<TransactionWithHash>
the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? }
Defined in​
getTransactionReceipt​
â–¸ getTransactionReceipt(transactionHash): Promise<GetTransactionReceiptResponse>
Gets the transaction receipt from a tx hash.
Parameters​
| Name | Type |
|---|---|
transactionHash | BigNumberish |
Returns​
Promise<GetTransactionReceiptResponse>
the transaction receipt object
Defined in​
deployAccountContract​
â–¸ deployAccountContract(payload, details): Promise<DeployContractResponse>
Deploys a given compiled Account contract (json) to starknet
Parameters​
| Name | Type | Description |
|---|---|---|
payload | DeployAccountContractPayload | payload to be deployed containing: - compiled contract code - constructor calldata - address salt |
details | InvocationsDetailsWithNonce | - |
Returns​
Promise<DeployContractResponse>
a confirmation of sending a transaction on the starknet contract
Defined in​
invokeFunction​
â–¸ invokeFunction(invocation, details): Promise<{ transaction_hash: string }>
Invokes a function on starknet
Parameters​
| Name | Type | Description |
|---|---|---|
invocation | Invocation | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature |
details | InvocationsDetailsWithNonce | optional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee |
Returns​
Promise<{ transaction_hash: string }>
response from addTransaction
Defined in​
declareContract​
â–¸ declareContract(transaction, details): Promise<{ class_hash: string ; transaction_hash: string }>
Declares a given compiled contract (json) to starknet
Parameters​
| Name | Type | Description |
|---|---|---|
transaction | DeclareContractTransaction | transaction payload to be deployed containing: - compiled contract code - sender address - signature |
details | InvocationsDetailsWithNonce | Invocation Details containing: - nonce - optional version - optional maxFee |
Returns​
Promise<{ class_hash: string ; transaction_hash: string }>
a confirmation of sending a transaction on the starknet contract
Defined in​
getInvokeEstimateFee​
â–¸ getInvokeEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>
Estimates the fee for a given INVOKE transaction
Parameters​
| Name | Type | Description |
|---|---|---|
invocation | Invocation | the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature |
details | InvocationsDetailsWithNonce | optional details containing: - nonce - optional nonce - version - optional version |
blockIdentifier? | BlockIdentifier | (optional) block identifier |
skipValidate? | boolean | (optional) skip cairo validate method |
Returns​
Promise<EstimateFeeResponse>
the estimated fee
Defined in​
getDeclareEstimateFee​
â–¸ getDeclareEstimateFee(transaction, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>
Estimates the fee for a given DECLARE transaction
Parameters​
| Name | Type | Description |
|---|---|---|
transaction | DeclareContractTransaction | transaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature |
details | InvocationsDetailsWithNonce | optional details containing: - nonce - version - optional version - optional maxFee |
blockIdentifier? | BlockIdentifier | (optional) block identifier |
skipValidate? | boolean | (optional) skip cairo validate method |
Returns​
Promise<EstimateFeeResponse>
the estimated fee
Defined in​
getDeployAccountEstimateFee​
â–¸ getDeployAccountEstimateFee(transaction, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>
Estimates the fee for a given DEPLOY_ACCOUNT transaction
Parameters​
| Name | Type | Description |
|---|---|---|
transaction | DeployAccountContractTransaction | transaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature |
details | InvocationsDetailsWithNonce | optional details containing: - nonce - version - optional version - optional maxFee |
blockIdentifier? | BlockIdentifier | (optional) block identifier |
skipValidate? | boolean | (optional) skip cairo validate method |
Returns​
Promise<EstimateFeeResponse>
the estimated fee
Defined in​
getEstimateFeeBulk​
â–¸ getEstimateFeeBulk(invocations, options?): Promise<EstimateFeeResponseBulk>
Estimates the fee for a list of INVOKE transaction
Parameters​
| Name | Type | Description |
|---|---|---|
invocations | AccountInvocations | AccountInvocations - Complete invocations array with account details |
options? | getEstimateFeeBulkOptions | getEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier |
Returns​
Promise<EstimateFeeResponseBulk>
the estimated fee
Defined in​
waitForTransaction​
â–¸ waitForTransaction(txHash, options?): Promise<GetTransactionReceiptResponse>
Wait for the transaction to be accepted
Parameters​
| Name | Type | Description |
|---|---|---|
txHash | BigNumberish | transaction hash |
options? | waitForTransactionOptions | waitForTransactionOptions - (optional) retryInterval: number | undefined; - (optional) successStates: TransactionStatus[] | undefined; |
Returns​
Promise<GetTransactionReceiptResponse>
GetTransactionReceiptResponse
Defined in​
getSimulateTransaction​
â–¸ getSimulateTransaction(invocations, options?): Promise<SimulateTransactionResponse>
Simulates the transaction and returns the transaction trace and estimated fee.
Parameters​
| Name | Type | Description |
|---|---|---|
invocations | AccountInvocations | AccountInvocations - Complete invocations array with account details |
options? | getSimulateTransactionOptions | getSimulateTransactionOptions - (optional) blockIdentifier - block identifier - (optional) skipValidate - skip cairo validate method - (optional) skipExecute - skip cairo execute method |
Returns​
Promise<SimulateTransactionResponse>
an array of transaction trace and estimated fee
Defined in​
getStateUpdate​
â–¸ getStateUpdate(blockIdentifier?): Promise<StateUpdateResponse>
Gets the state changes in a specific block (result of executing the requested block)
Parameters​
| Name | Type | Description |
|---|---|---|
blockIdentifier? | BlockIdentifier | block identifier |
Returns​
Promise<StateUpdateResponse>
StateUpdateResponse
Defined in​
getContractVersion​
â–¸ getContractVersion(contractAddress, classHash?, options?): Promise<ContractVersion>
Gets the contract version from the provided address
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | string | string |
classHash? | undefined | undefined |
options? | getContractVersionOptions | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier |
Returns​
Promise<ContractVersion>
Defined in​
â–¸ getContractVersion(contractAddress, classHash, options?): Promise<ContractVersion>
Gets the contract version from the provided address
Parameters​
| Name | Type | Description |
|---|---|---|
contractAddress | undefined | undefined |
classHash | string | |
options? | getContractVersionOptions | getContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier |
Returns​
Promise<ContractVersion>