Class: RpcProvider
Defined in: src/provider/rpc.ts:70
Provider methods added by the FastExecute plugin
Extends
Implements
Constructors
Constructor
new RpcProvider(
optionsOrProvider?):RpcProvider
Defined in: src/provider/rpc.ts:81
Parameters
optionsOrProvider?
RpcProviderOptions | ProviderInterface | RpcProvider
Returns
RpcProvider
Inherited from
StarknetIdProviderMethods.constructor
Properties
responseParser
responseParser:
RPCResponseParser
Defined in: src/provider/rpc.ts:74
Implementation of
ProviderInterface.responseParser
channel
channel:
RpcChannel|RpcChannel|RpcChannel|RpcChannel
Defined in: src/provider/rpc.ts:76
Implementation of
pluginManager
readonlypluginManager:PluginManager
Defined in: src/provider/rpc.ts:79
Internal
Plugin management infrastructure
getStateUpdate
getStateUpdate: {():
Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>; (blockIdentifier):Promise<{block_hash:never;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; };old_root?:string; }>; (blockIdentifier):Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>; (blockIdentifier?,contractAddresses?):Promise<StateUpdateResponse>; }
Defined in: src/provider/rpc.ts:333
Gets the state changes in a specific block (result of executing the requested block)
Call Signature
():
Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>
Gets the state changes in a specific block (result of executing the requested block) Alternative method name for getStateUpdate with specific overloads
Returns
Promise<{ block_hash: string; new_root: string; old_root: string; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; }>
StateUpdateResponse
Call Signature
(
blockIdentifier):Promise<{block_hash:never;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; };old_root?:string; }>
Parameters
blockIdentifier
"pre_confirmed"
Returns
Promise<{ block_hash: never; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; old_root?: string; }>
Call Signature
(
blockIdentifier):Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>
Parameters
blockIdentifier
"latest"
Returns
Promise<{ block_hash: string; new_root: string; old_root: string; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; }>
Call Signature
(
blockIdentifier?,contractAddresses?):Promise<StateUpdateResponse>
Parameters
blockIdentifier?
contractAddresses?
Returns
Promise<StateUpdateResponse>
Param
block identifier
Returns
StateUpdateResponse
Implementation of
ProviderInterface.getStateUpdate
Methods
create()
staticcreate<T>(this,optionsOrProvider?):Promise<T>
Defined in: src/provider/rpc.ts:129
auto configure channel based on provided node leave space for other async before constructor
Type Parameters
T
T extends RpcProvider
Parameters
this
(...args) => T
optionsOrProvider?
Returns
Promise<T>
use()
use<
T>(plugin):RpcProvider&T
Defined in: src/provider/rpc.ts:173
Install a plugin at runtime. Returns the instance typed with plugin methods.
Type Parameters
T
T extends Record<string, any>
Parameters
plugin
StarknetPlugin<T, any>
Returns
RpcProvider & T
Example
const provider = new RpcProvider({ nodeUrl: '...' }).use(myPlugin());
provider.myMethod(); // typed
fetch()
fetch(
method,params?,id?):Promise<any>
Defined in: src/provider/rpc.ts:178
Direct RPC method call
Parameters
method
string
RPC method name
params?
object
method parameters
id?
string | number
request ID
Returns
Promise<any>
RPC response
getChainId()
getChainId():
Promise<"0x534e5f4d41494e"|"0x534e5f5345504f4c4941">
Defined in: src/provider/rpc.ts:196
Gets the Starknet chain Id
Returns
Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">
the chain Id
readSpecVersion()
readSpecVersion():
"0.9.0"|"0.10.0"|"0.10.2"|"0.10.3"|"0.10.4"|undefined
Defined in: src/provider/rpc.ts:200
Read channel spec version
Returns
"0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4" | undefined
Spec version string or undefined if not set
getSpecVersion()
getSpecVersion():
Promise<string>
Defined in: src/provider/rpc.ts:204
Get channel spec version
Returns
Promise<string>
Promise resolving to spec version
setUpSpecVersion()
setUpSpecVersion():
Promise<"0.9.0"|"0.10.0"|"0.10.2"|"0.10.3"|"0.10.4">
Defined in: src/provider/rpc.ts:208
Setup channel spec version and return it
Returns
Promise<"0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4">
Promise resolving to spec version
getStarknetVersion()
getStarknetVersion(
blockIdentifier?):Promise<string>
Defined in: src/provider/rpc.ts:212
Parameters
blockIdentifier?
Returns
Promise<string>
getNonceForAddress()
getNonceForAddress(
contractAddress,blockIdentifier?):Promise<string>
Defined in: src/provider/rpc.ts:216
Returns the nonce associated with the given address in the given block
Parameters
contractAddress
contract address
blockIdentifier?
Returns
Promise<string>
the hex nonce
getBlock()
Call Signature
getBlock():
Promise<{status:EBlockStatus;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;event_commitment:string;transaction_commitment:string;receipt_commitment:string;state_diff_commitment:string;event_count:number;transaction_count:number;state_diff_length:number;transactions:string[]; }>
Defined in: src/provider/rpc.ts:223
Gets the header and the transaction hashes of a block (RPC starknet_getBlockWithTxHashes).
The response contains the block metadata (hash, number, parent hash, timestamp, status,
gas prices, sequencer address, ...) plus a transactions array holding only the hashes
of the transactions included in the block — not their content.
To get the full transactions use getBlockWithTxs, and for their receipts use
getBlockWithReceipts.
Returns
Promise<{ status: EBlockStatus; 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; event_commitment: string; transaction_commitment: string; receipt_commitment: string; state_diff_commitment: string; event_count: number; transaction_count: number; state_diff_length: number; transactions: string[]; }>
the block header together with the list of its transaction hashes
Example
const block = await provider.getBlock('latest');
// {
// status: 'ACCEPTED_ON_L2',
// block_hash: '0x3a1b...',
// block_number: 123456,
// parent_hash: '0x28f5...',
// timestamp: 1700000000,
// sequencer_address: '0x1176a1...',
// transactions: ['0x1d2c...', '0x5e8f...'], // transaction hashes only
// ...
// }
// By block number or hash:
await provider.getBlock(123456);
await provider.getBlock('0x3a1b...');
// Block still being built (fields differ from a closed block):
const pending = await provider.getBlock('pre_confirmed');
Call Signature
getBlock(
blockIdentifier):Promise<{transactions:string[];block_number:number;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; }>
Defined in: src/provider/rpc.ts:224
Gets the header and the transaction hashes of a block (RPC starknet_getBlockWithTxHashes).
The response contains the block metadata (hash, number, parent hash, timestamp, status,
gas prices, sequencer address, ...) plus a transactions array holding only the hashes
of the transactions included in the block — not their content.
To get the full transactions use getBlockWithTxs, and for their receipts use
getBlockWithReceipts.
Parameters
blockIdentifier
"pre_confirmed"
which block to fetch. Accepts:
- a block number:
numberor decimalstring(e.g.123456) - a block hash: hex
stringorbigint(e.g.'0x3a1b...') - a block tag
string:'latest'— the most recent block already accepted on L2'pre_confirmed'— the block currently being built, not yet closed (its fields differ: noblock_hash/status, hence the dedicated PreConfirmedBlock return type)
null— resolved as the'latest'tag
When omitted, the provider's default block identifier is used ('latest').
Returns
Promise<{ transactions: string[]; block_number: number; 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 header together with the list of its transaction hashes
Example
const block = await provider.getBlock('latest');
// {
// status: 'ACCEPTED_ON_L2',
// block_hash: '0x3a1b...',
// block_number: 123456,
// parent_hash: '0x28f5...',
// timestamp: 1700000000,
// sequencer_address: '0x1176a1...',
// transactions: ['0x1d2c...', '0x5e8f...'], // transaction hashes only
// ...
// }
// By block number or hash:
await provider.getBlock(123456);
await provider.getBlock('0x3a1b...');
// Block still being built (fields differ from a closed block):
const pending = await provider.getBlock('pre_confirmed');
Call Signature
getBlock(
blockIdentifier):Promise<{status:EBlockStatus;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;event_commitment:string;transaction_commitment:string;receipt_commitment:string;state_diff_commitment:string;event_count:number;transaction_count:number;state_diff_length:number;transactions:string[]; }>
Defined in: src/provider/rpc.ts:225
Gets the header and the transaction hashes of a block (RPC starknet_getBlockWithTxHashes).
The response contains the block metadata (hash, number, parent hash, timestamp, status,
gas prices, sequencer address, ...) plus a transactions array holding only the hashes
of the transactions included in the block — not their content.
To get the full transactions use getBlockWithTxs, and for their receipts use
getBlockWithReceipts.
Parameters
blockIdentifier
"latest"
which block to fetch. Accepts:
- a block number:
numberor decimalstring(e.g.123456) - a block hash: hex
stringorbigint(e.g.'0x3a1b...') - a block tag
string:'latest'— the most recent block already accepted on L2'pre_confirmed'— the block currently being built, not yet closed (its fields differ: noblock_hash/status, hence the dedicated PreConfirmedBlock return type)
null— resolved as the'latest'tag
When omitted, the provider's default block identifier is used ('latest').
Returns
Promise<{ status: EBlockStatus; 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; event_commitment: string; transaction_commitment: string; receipt_commitment: string; state_diff_commitment: string; event_count: number; transaction_count: number; state_diff_length: number; transactions: string[]; }>
the block header together with the list of its transaction hashes
Example
const block = await provider.getBlock('latest');
// {
// status: 'ACCEPTED_ON_L2',
// block_hash: '0x3a1b...',
// block_number: 123456,
// parent_hash: '0x28f5...',
// timestamp: 1700000000,
// sequencer_address: '0x1176a1...',
// transactions: ['0x1d2c...', '0x5e8f...'], // transaction hashes only
// ...
// }
// By block number or hash:
await provider.getBlock(123456);
await provider.getBlock('0x3a1b...');
// Block still being built (fields differ from a closed block):
const pending = await provider.getBlock('pre_confirmed');
Call Signature
getBlock(
blockIdentifier):Promise<GetBlockResponse>
Defined in: src/provider/rpc.ts:226
Gets the header and the transaction hashes of a block (RPC starknet_getBlockWithTxHashes).
The response contains the block metadata (hash, number, parent hash, timestamp, status,
gas prices, sequencer address, ...) plus a transactions array holding only the hashes
of the transactions included in the block — not their content.
To get the full transactions use getBlockWithTxs, and for their receipts use
getBlockWithReceipts.
Parameters
blockIdentifier
which block to fetch. Accepts:
- a block number:
numberor decimalstring(e.g.123456) - a block hash: hex
stringorbigint(e.g.'0x3a1b...') - a block tag
string:'latest'— the most recent block already accepted on L2'pre_confirmed'— the block currently being built, not yet closed (its fields differ: noblock_hash/status, hence the dedicated PreConfirmedBlock return type)
null— resolved as the'latest'tag
When omitted, the provider's default block identifier is used ('latest').
Returns
Promise<GetBlockResponse>
the block header together with the list of its transaction hashes
Example
const block = await provider.getBlock('latest');
// {
// status: 'ACCEPTED_ON_L2',
// block_hash: '0x3a1b...',
// block_number: 123456,
// parent_hash: '0x28f5...',
// timestamp: 1700000000,
// sequencer_address: '0x1176a1...',
// transactions: ['0x1d2c...', '0x5e8f...'], // transaction hashes only
// ...
// }
// By block number or hash:
await provider.getBlock(123456);
await provider.getBlock('0x3a1b...');
// Block still being built (fields differ from a closed block):
const pending = await provider.getBlock('pre_confirmed');
getBlockLatestAccepted()
getBlockLatestAccepted():
Promise<BlockHashAndNumber>
Defined in: src/provider/rpc.ts:233
Get the most recent accepted block hash and number
Returns
Promise<BlockHashAndNumber>
Object containing block hash and number
getBlockNumber()
getBlockNumber():
Promise<number>
Defined in: src/provider/rpc.ts:237
Get the most recent accepted block number
Returns
Promise<number>
Number of the latest block
getBlockWithTxHashes()
getBlockWithTxHashes(
blockIdentifier?):Promise<OnlyFirst<BLOCK_WITH_TX_HASHES,object&BLOCK_HEADER&BLOCK_BODY_WITH_TX_HASHES&PRE_CONFIRMED_BLOCK_HEADER> |OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TX_HASHES,object&BLOCK_HEADER&BLOCK_BODY_WITH_TX_HASHES&PRE_CONFIRMED_BLOCK_HEADER>>
Defined in: src/provider/rpc.ts:241
Get block information with transaction hashes
Parameters
blockIdentifier?
block identifier
Returns
Promise<OnlyFirst<BLOCK_WITH_TX_HASHES, object & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TX_HASHES, object & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER>>
Block with transaction hashes
getBlockWithTxs()
getBlockWithTxs(
blockIdentifier?,options?):Promise<OnlyFirst<BLOCK_WITH_TXS,object&BLOCK_HEADER&BLOCK_BODY_WITH_TXS&PRE_CONFIRMED_BLOCK_HEADER> |OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TXS,object&BLOCK_HEADER&BLOCK_BODY_WITH_TXS&PRE_CONFIRMED_BLOCK_HEADER>>
Defined in: src/provider/rpc.ts:245
Get block information with full transactions
Parameters
blockIdentifier?
block identifier
options?
(optional) additional request options
- includeProofFacts - include proof facts in the transaction response (RPC 0.10.1+)
includeProofFacts?
boolean
Returns
Promise<OnlyFirst<BLOCK_WITH_TXS, object & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TXS, object & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER>>
Block with full transactions
waitForBlock()
waitForBlock(
blockIdentifier?,retryInterval?):Promise<void>
Defined in: src/provider/rpc.ts:255
Pause execution until a specified block is created
Parameters
blockIdentifier?
BlockIdentifier = BlockTag.LATEST
block number or tag
retryInterval?
number = 5000
milliseconds between requests (default: 5000)
Returns
Promise<void>
Example
await provider.waitForBlock(12345);
await provider.waitForBlock('latest');
getL1GasPrice()
getL1GasPrice(
blockIdentifier?):Promise<string>
Defined in: src/provider/rpc.ts:285
Gets the price of l1 gas in the block
Parameters
blockIdentifier?
block identifier
Returns
Promise<string>
gas price of the block
getGasPrices()
getGasPrices(
blockIdentifier?):Promise<GasPrices>
Defined in: src/provider/rpc.ts:301
Get the gas prices related to a block.
Parameters
blockIdentifier?
BlockIdentifier = ...
Returns
Promise<GasPrices>
an object with l1DataGasPrice, l1GasPrice, l2GasPrice properties (all bigint type).
Example
const result = await myProvider.getGasPrices();
// result = { l1DataGasPrice: 3039n, l1GasPrice: 55590341542890n, l2GasPrice: 8441845008n }
getL1MessageHash()
getL1MessageHash(
l2TxHash):Promise<string>
Defined in: src/provider/rpc.ts:307
Get L1 message hash from L2 transaction hash
Parameters
l2TxHash
L2 transaction hash
Returns
Promise<string>
Hex string of L1 message hash
Example
In Sepolia Testnet :
const result = provider.getL1MessageHash(
'0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'
);
// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a'
getBlockWithReceipts()
getBlockWithReceipts(
blockIdentifier?,options?):Promise<OnlyFirst<BLOCK_WITH_RECEIPTS,object&BLOCK_HEADER&BLOCK_BODY_WITH_RECEIPTS&PRE_CONFIRMED_BLOCK_HEADER> |OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_RECEIPTS,object&BLOCK_HEADER&BLOCK_BODY_WITH_RECEIPTS&PRE_CONFIRMED_BLOCK_HEADER>>
Defined in: src/provider/rpc.ts:323
Get block information with transaction receipts
Parameters
blockIdentifier?
block identifier
options?
(optional) additional request options
- includeProofFacts - include proof facts in the transaction response (RPC 0.10.1+)
includeProofFacts?
boolean
Returns
Promise<OnlyFirst<BLOCK_WITH_RECEIPTS, object & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_RECEIPTS, object & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER>>
Block with transaction receipts
getBlockStateUpdate()
Call Signature
getBlockStateUpdate():
Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>
Defined in: src/provider/rpc.ts:335
Gets the state changes in a specific block (result of executing the requested block) Alternative method name for getStateUpdate with specific overloads
Returns
Promise<{ block_hash: string; new_root: string; old_root: string; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; }>
StateUpdateResponse
Call Signature
getBlockStateUpdate(
blockIdentifier):Promise<{block_hash:never;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; };old_root?:string; }>
Defined in: src/provider/rpc.ts:336
Gets the state changes in a specific block (result of executing the requested block) Alternative method name for getStateUpdate with specific overloads
Parameters
blockIdentifier
"pre_confirmed"
Returns
Promise<{ block_hash: never; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; old_root?: string; }>
StateUpdateResponse
Call Signature
getBlockStateUpdate(
blockIdentifier):Promise<{block_hash:string;new_root:string;old_root:string;state_diff: {storage_diffs:object[];deprecated_declared_classes:string[];declared_classes:object[];deployed_contracts:object[];replaced_classes:object[];nonces:object[];migrated_compiled_classes?:object[]; }; }>
Defined in: src/provider/rpc.ts:339
Gets the state changes in a specific block (result of executing the requested block) Alternative method name for getStateUpdate with specific overloads
Parameters
blockIdentifier
"latest"
Returns
Promise<{ block_hash: string; new_root: string; old_root: string; state_diff: { storage_diffs: object[]; deprecated_declared_classes: string[]; declared_classes: object[]; deployed_contracts: object[]; replaced_classes: object[]; nonces: object[]; migrated_compiled_classes?: object[]; }; }>
StateUpdateResponse
Call Signature
getBlockStateUpdate(
blockIdentifier?,contractAddresses?):Promise<StateUpdateResponse>
Defined in: src/provider/rpc.ts:340
Gets the state changes in a specific block (result of executing the requested block) Alternative method name for getStateUpdate with specific overloads
Parameters
blockIdentifier?
contractAddresses?
Returns
Promise<StateUpdateResponse>
StateUpdateResponse
getBlockTransactionsTraces()
getBlockTransactionsTraces(
blockIdentifier?,options?):Promise<BlockTransactionsTraces|BlockTransactionsTracesWithInitialReads>
Defined in: src/provider/rpc.ts:351
Get transaction traces for all transactions in a block
Parameters
blockIdentifier?
block identifier
options?
(optional) additional request options
- returnInitialReads - include initial storage reads in the trace response (RPC 0.10.1+)
returnInitialReads?
boolean
Returns
Promise<BlockTransactionsTraces | BlockTransactionsTracesWithInitialReads>
Array of transaction traces
getBlockTransactionCount()
getBlockTransactionCount(
blockIdentifier?):Promise<number>
Defined in: src/provider/rpc.ts:361
Get the number of transactions in a block
Parameters
blockIdentifier?
block identifier
Returns
Promise<number>
Transaction count
getTransaction()
getTransaction(
txHash,options?):Promise<INVOKE_TXN_V0&object|INVOKE_TXN_V1&object|INVOKE_TXN_V3&object|object&FUNCTION_CALL&object|DECLARE_TXN_V0&object|DECLARE_TXN_V1&object|DECLARE_TXN_V2&object|DECLARE_TXN_V3&object|DEPLOY_TXN&object|DEPLOY_ACCOUNT_TXN_V1&object|DEPLOY_ACCOUNT_TXN_V3&object>
Defined in: src/provider/rpc.ts:365
Gets the transaction information from a tx id.
Parameters
txHash
options?
(optional) additional request options
- includeProofFacts - include proof facts in the transaction response (RPC 0.10.1+)
includeProofFacts?
boolean
Returns
Promise<INVOKE_TXN_V0 & object | INVOKE_TXN_V1 & object | INVOKE_TXN_V3 & object | object & FUNCTION_CALL & object | DECLARE_TXN_V0 & object | DECLARE_TXN_V1 & object | DECLARE_TXN_V2 & object | DECLARE_TXN_V3 & object | DEPLOY_TXN & object | DEPLOY_ACCOUNT_TXN_V1 & object | DEPLOY_ACCOUNT_TXN_V3 & object>
the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? }
getTransactionByHash()
getTransactionByHash(
txHash,options?):Promise<INVOKE_TXN_V0&object|INVOKE_TXN_V1&object|INVOKE_TXN_V3&object|object&FUNCTION_CALL&object|DECLARE_TXN_V0&object|DECLARE_TXN_V1&object|DECLARE_TXN_V2&object|DECLARE_TXN_V3&object|DEPLOY_TXN&object|DEPLOY_ACCOUNT_TXN_V1&object|DEPLOY_ACCOUNT_TXN_V3&object>
Defined in: src/provider/rpc.ts:369
Gets the transaction information from a tx hash (alias for getTransaction)
Parameters
txHash
transaction hash
options?
(optional) additional request options
- includeProofFacts - include proof facts in the transaction response (RPC 0.10.1+)
includeProofFacts?
boolean
Returns
Promise<INVOKE_TXN_V0 & object | INVOKE_TXN_V1 & object | INVOKE_TXN_V3 & object | object & FUNCTION_CALL & object | DECLARE_TXN_V0 & object | DECLARE_TXN_V1 & object | DECLARE_TXN_V2 & object | DECLARE_TXN_V3 & object | DEPLOY_TXN & object | DEPLOY_ACCOUNT_TXN_V1 & object | DEPLOY_ACCOUNT_TXN_V3 & object>
Transaction information
getTransactionByBlockIdAndIndex()
getTransactionByBlockIdAndIndex(
blockIdentifier,index,options?):Promise<INVOKE_TXN_V0&object|INVOKE_TXN_V1&object|INVOKE_TXN_V3&object|object&FUNCTION_CALL&object|DECLARE_TXN_V0&object|DECLARE_TXN_V1&object|DECLARE_TXN_V2&object|DECLARE_TXN_V3&object|DEPLOY_TXN&object|DEPLOY_ACCOUNT_TXN_V1&object|DEPLOY_ACCOUNT_TXN_V3&object>
Defined in: src/provider/rpc.ts:379
Gets transaction by block identifier and index
Parameters
blockIdentifier
block identifier
index
number
transaction index in the block
options?
(optional) additional request options
- includeProofFacts - include proof facts in the transaction response (RPC 0.10.1+)
includeProofFacts?
boolean
Returns
Promise<INVOKE_TXN_V0 & object | INVOKE_TXN_V1 & object | INVOKE_TXN_V3 & object | object & FUNCTION_CALL & object | DECLARE_TXN_V0 & object | DECLARE_TXN_V1 & object | DECLARE_TXN_V2 & object | DECLARE_TXN_V3 & object | DEPLOY_TXN & object | DEPLOY_ACCOUNT_TXN_V1 & object | DEPLOY_ACCOUNT_TXN_V3 & object>
Transaction information
getTransactionReceipt()
getTransactionReceipt(
txHash):Promise<GetTransactionReceiptResponse>
Defined in: src/provider/rpc.ts:390
Gets the transaction receipt from a tx hash.
Parameters
txHash
Returns
Promise<GetTransactionReceiptResponse>
the transaction receipt object
getTransactionTrace()
Call Signature
getTransactionTrace<
V>(txHash):Promise<VextendsSupportedRpcVersion0_10?TRANSACTION_TRACE:TRANSACTION_TRACE>
Defined in: src/provider/rpc.ts:397
Gets the transaction trace
Type Parameters
V
V extends "0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4" = "0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4"
Parameters
txHash
transaction hash
Returns
Promise<V extends SupportedRpcVersion0_10 ? TRANSACTION_TRACE : TRANSACTION_TRACE>
Transaction trace
Call Signature
getTransactionTrace(
txHash):Promise<TRANSACTION_TRACE|TRANSACTION_TRACE>
Defined in: src/provider/rpc.ts:402
Parameters
txHash
Returns
Promise<TRANSACTION_TRACE | TRANSACTION_TRACE>
getTransactionStatus()
getTransactionStatus(
transactionHash):Promise<TXN_STATUS_RESULT>
Defined in: src/provider/rpc.ts:411
Get the status of a transaction
Parameters
transactionHash
transaction hash
Returns
Promise<TXN_STATUS_RESULT>
Transaction status
getSimulateTransaction()
getSimulateTransaction(
invocations,options?):Promise<SimulateTransactionOverheadResponse>
Defined in: src/provider/rpc.ts:415
Simulates the transaction and returns the transaction trace and estimated fee.
Parameters
invocations
AccountInvocations - Complete invocations array with account details
options?
getSimulateTransactionOptions
- (optional) blockIdentifier - block identifier
- (optional) skipValidate - skip cairo validate method
- (optional) skipExecute - skip cairo execute method
- (optional) returnInitialReads - include initial storage reads in the trace response (RPC 0.10.1+)
Returns
Promise<SimulateTransactionOverheadResponse>
an array of transaction trace and estimated fee
waitForTransaction()
waitForTransaction(
txHash,options?):Promise<GetTransactionReceiptResponse>
Defined in: src/provider/rpc.ts:425
Wait for the transaction to be accepted
Parameters
txHash
transaction hash
options?
waitForTransactionOptions
- (optional) retryInterval: number | undefined;
- (optional) successStates: TransactionStatus[] | undefined;
Returns
Promise<GetTransactionReceiptResponse>
GetTransactionReceiptResponse
getStorageAt()
getStorageAt(
contractAddress,key,blockIdentifier?,responseFlags?):Promise<STORAGE_RESULT>
Defined in: src/provider/rpc.ts:437
Get the value of the storage (contract's variable) at the given address and key
Parameters
contractAddress
key
from getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)
blockIdentifier?
block identifier
responseFlags?
"INCLUDE_LAST_UPDATE_BLOCK"[]
Returns
Promise<STORAGE_RESULT>
the value of the storage variable
getClassHashAt()
getClassHashAt(
contractAddress,blockIdentifier?):Promise<string>
Defined in: src/provider/rpc.ts:452
Returns the contract class hash in the given block for the contract deployed at the given address
Parameters
contractAddress
contract address
blockIdentifier?
block identifier
Returns
Promise<string>
Class hash
getClassByHash()
getClassByHash(
classHash):Promise<LegacyContractClass|Omit<CompiledSierra,"sierra_program_debug_info">>
Defined in: src/provider/rpc.ts:456
Returns the contract class deployed under the given class hash.
Parameters
classHash
class hash
Returns
Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>
Contract class of compiled contract
getClass()
getClass(
classHash,blockIdentifier?):Promise<LegacyContractClass|Omit<CompiledSierra,"sierra_program_debug_info">>
Defined in: src/provider/rpc.ts:460
Get contract class by hash with optional block identifier
Parameters
classHash
class hash
blockIdentifier?
block identifier
Returns
Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>
Contract class
getClassAt()
getClassAt(
contractAddress,blockIdentifier?):Promise<LegacyContractClass|Omit<CompiledSierra,"sierra_program_debug_info">>
Defined in: src/provider/rpc.ts:466
Gets the contract class of the deployed contract.
Parameters
contractAddress
contract address
blockIdentifier?
block identifier
Returns
Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>
Contract class of compiled contract
getContractVersion()
Call Signature
getContractVersion(
contractAddress,classHash?,options?):Promise<ContractVersion>
Defined in: src/provider/rpc.ts:472
Gets the contract version from the provided address
Parameters
contractAddress
string
classHash?
undefined
undefined
options?
getContractVersionOptions
- (optional) compiler - (default true) extract compiler version using type tactic from abi
- (optional) blockIdentifier - block identifier
Returns
Promise<ContractVersion>
Call Signature
getContractVersion(
contractAddress,classHash,options?):Promise<ContractVersion>
Defined in: src/provider/rpc.ts:477
Gets the contract version from the provided address
Parameters
contractAddress
undefined
undefined
classHash
options?
getContractVersionOptions
- (optional) compiler - (default true) extract compiler version using type tactic from abi
- (optional) blockIdentifier - block identifier
Returns
Promise<ContractVersion>
getInvokeEstimateFee()
getInvokeEstimateFee(
invocation,details,blockIdentifier?,skipValidate?):Promise<EstimateFeeResponseOverhead>
Defined in: src/provider/rpc.ts:510
Estimates the fee for a given INVOKE transaction
Parameters
invocation
the invocation object containing:
- contractAddress - the address of the contract
- entrypoint - (optional) the entrypoint of the contract
- calldata - (optional, defaults to []) the calldata
- signature - (optional, defaults to []) the signature
details
optional details containing:
- nonce - optional nonce
- version - optional version
blockIdentifier?
(optional) block identifier
skipValidate?
boolean
(optional) skip cairo validate method
Returns
Promise<EstimateFeeResponseOverhead>
the estimated fee
Deprecated
Consider using getEstimateFeeBulk for multiple transactions
Example
const feeEstimate = await provider.getInvokeEstimateFee(invocation, details);
// Equivalent to:
const [feeEstimate] = await provider.getEstimateFeeBulk(
[{ type: ETransactionType.INVOKE, ...invocation, ...details }],
options
);
Remarks
This method is an alias that calls getEstimateFeeBulk with a single transaction
getDeclareEstimateFee()
getDeclareEstimateFee(
invocation,details,blockIdentifier?,skipValidate?):Promise<EstimateFeeResponseOverhead>
Defined in: src/provider/rpc.ts:524
Estimates the fee for a given DECLARE transaction
Parameters
invocation
details
optional details containing:
- nonce
- version - optional version
- optional maxFee
blockIdentifier?
(optional) block identifier
skipValidate?
boolean
(optional) skip cairo validate method
Returns
Promise<EstimateFeeResponseOverhead>
the estimated fee
Deprecated
Consider using getEstimateFeeBulk for multiple transactions
Example
const feeEstimate = await provider.getDeclareEstimateFee(transaction, details);
// Equivalent to:
const [feeEstimate] = await provider.getEstimateFeeBulk(
[{ type: ETransactionType.DECLARE, ...transaction, ...details }],
options
);
Remarks
This method is an alias that calls getEstimateFeeBulk with a single transaction
getDeployAccountEstimateFee()
getDeployAccountEstimateFee(
invocation,details,blockIdentifier?,skipValidate?):Promise<EstimateFeeResponseOverhead>
Defined in: src/provider/rpc.ts:538
Estimates the fee for a given DEPLOY_ACCOUNT transaction
Parameters
invocation
DeployAccountContractTransaction
details
optional details containing:
- nonce
- version - optional version
- optional maxFee
blockIdentifier?
(optional) block identifier
skipValidate?
boolean
(optional) skip cairo validate method
Returns
Promise<EstimateFeeResponseOverhead>
the estimated fee
Deprecated
Consider using getEstimateFeeBulk for multiple transactions
Example
const feeEstimate = await provider.getDeployAccountEstimateFee(transaction, details);
// Equivalent to:
const [feeEstimate] = await provider.getEstimateFeeBulk(
[{ type: ETransactionType.DEPLOY_ACCOUNT, ...transaction, ...details }],
options
);
Remarks
This method is an alias that calls getEstimateFeeBulk with a single transaction
getEstimateFeeBulk()
getEstimateFeeBulk(
invocations,options?):Promise<EstimateFeeResponseBulkOverhead>
Defined in: src/provider/rpc.ts:552
Estimates the fee for a list of INVOKE transaction