Skip to main content
Version: 11.x

Class: RpcProvider

Defined in: src/provider/rpc.ts:70

Provider methods added by the FastExecute plugin

Extends​

Extended by​

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​

ProviderInterface.channel


pluginManager​

readonly pluginManager: 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?​

BlockIdentifier

contractAddresses?​

BigNumberish[]

Returns​

Promise<StateUpdateResponse>

Param​

blockIdentifier

block identifier

Returns​

StateUpdateResponse

Implementation of​

ProviderInterface.getStateUpdate

Methods​

create()​

static create<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?​

RpcProviderOptions

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?​

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​

BigNumberish

contract address

blockIdentifier?​

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: number or decimal string (e.g. 123456)
  • a block hash: hex string or bigint (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: no block_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: number or decimal string (e.g. 123456)
  • a block hash: hex string or bigint (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: no block_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​

BlockIdentifier

which block to fetch. Accepts:

  • a block number: number or decimal string (e.g. 123456)
  • a block hash: hex string or bigint (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: no block_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?​

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?​

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?​

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​

BigNumberish

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?​

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?​

BlockIdentifier

contractAddresses?​

BigNumberish[]

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?​

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?​

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​

BigNumberish

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​

BigNumberish

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​

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​

BigNumberish

Returns​

Promise<GetTransactionReceiptResponse>

the transaction receipt object


getTransactionTrace()​

Call Signature​

getTransactionTrace<V>(txHash): Promise<V extends SupportedRpcVersion0_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​

BigNumberish

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​

BigNumberish

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​

BigNumberish

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

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
  • (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​

BigNumberish

transaction hash

options?​

waitForTransactionOptions

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​

BigNumberish

key​

BigNumberish

from getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)

blockIdentifier?​

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​

BigNumberish

contract address

blockIdentifier?​

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​

BigNumberish

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​

BigNumberish

class hash

blockIdentifier?​

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​

BigNumberish

contract address

blockIdentifier?​

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​

BigNumberish

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>

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​

BigNumberish

options?​

getContractVersionOptions

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:512

Estimates the fee for a given INVOKE transaction

Parameters​

invocation​

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​

InvocationsDetailsWithNonce

optional details containing:

  • nonce - optional nonce
  • version - optional version
blockIdentifier?​

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:526

Estimates the fee for a given DECLARE transaction

Parameters​

invocation​

DeclareContractTransaction

details​

InvocationsDetailsWithNonce

optional details containing:

  • nonce
  • version - optional version
blockIdentifier?​

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:540

Estimates the fee for a given DEPLOY_ACCOUNT transaction

Parameters​

invocation​

DeployAccountContractTransaction

details​

InvocationsDetailsWithNonce

optional details containing:

  • nonce
  • version - optional version
blockIdentifier?​

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:554

Estimates the fee for a list of INVOKE transaction

Parameters​

invocations​

AccountInvocations

AccountInvocations - Complete invocations array with account details

options?​

getEstimateFeeBulkOptions

getEstimateFeeBulkOptions

  • (optional) blockIdentifier - BlockIdentifier

Returns​

Promise<EstimateFeeResponseBulkOverhead>

the estimated fee


invokeFunction()​

invokeFunction(functionInvocation, details): Promise<{ transaction_hash: string; }>

Defined in: src/provider/rpc.ts:563

Invokes a function on starknet

Parameters​

functionInvocation​

Invocation

details​

InvocationsDetailsWithNonce

optional details containing:

  • nonce - optional nonce
  • version - optional version

Returns​

Promise<{ transaction_hash: string; }>

response from addTransaction


invokeSignedTx()​

invokeSignedTx(transaction): Promise<{ transaction_hash: string; }>

Defined in: src/provider/rpc.ts:595

Submit a pre-signed INVOKE_TXN_V3 transaction to the network.

Broadcasts a transaction previously built and signed by Account.getSignedTransaction(). Fees are already included in the signed transaction and will not be re-estimated.

Parameters​

transaction​

INVOKE_TXN_V3

A fully signed RPC.INVOKE_TXN_V3 object, as returned by Account.getSignedTransaction()

Returns​

Promise<{ transaction_hash: string; }>

The transaction hash if waitMode is disabled (default), or the transaction receipt if waitMode is enabled.

Remarks​

  • The transaction must be signed before calling this method ; use Account.getSignedTransaction() to produce it.
  • Resubmitting the same signed transaction (same nonce) will be rejected by the network.
  • If waitMode is enabled on the provider, this method waits for the transaction to be included in a block before returning.

Example​

const signedTx = await account.getSignedTransaction([
{ contractAddress: erc20Address, entrypoint: 'transfer', calldata: [recipient, amount, 0] }
]);
// inspect or store signedTx, then submit when ready:
const { transaction_hash } = await provider.invokeSignedTx(signedTx);
await provider.waitForTransaction(transaction_hash);

declareContract()​

declareContract(transaction, details): Promise<{ class_hash: string; transaction_hash: string; }>

Defined in: src/provider/rpc.ts:599

Declares a given compiled contract (json) to starknet

Parameters​

transaction​

DeclareContractTransaction

transaction payload to be deployed containing:

  • compiled contract code
  • sender address
  • signature
details​

InvocationsDetailsWithNonce

Invocation Details containing:

  • nonce
  • optional version

Returns​

Promise<{ class_hash: string; transaction_hash: string; }>

a confirmation of sending a transaction on the starknet contract


deployAccountContract()​

deployAccountContract(transaction, details): Promise<{ contract_address: string; transaction_hash: string; }>

Defined in: src/provider/rpc.ts:606

Deploys a given compiled Account contract (json) to starknet

Parameters​

transaction​

DeployAccountContractTransaction

details​

InvocationsDetailsWithNonce

Returns​

Promise<{ contract_address: string; transaction_hash: string; }>

a confirmation of sending a transaction on the starknet contract


callContract()​

callContract(call, blockIdentifier?): Promise<string[]>

Defined in: src/provider/rpc.ts:613

Calls a function on the Starknet contract.

Parameters​

call​

Call

transaction to be called

blockIdentifier?​

BlockIdentifier

block identifier

Returns​

Promise<string[]>

the result of the function on the smart contract.


estimateMessageFee()​

Call Signature​

estimateMessageFee<V>(message, blockIdentifier?): Promise<V extends SupportedRpcVersion0_10 ? FEE_ESTIMATE : MESSAGE_FEE_ESTIMATE>

Defined in: src/provider/rpc.ts:617

Estimate the fee for a message from L1

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​
message​

MSG_FROM_L1

L1 message

blockIdentifier?​

BlockIdentifier

block identifier

Returns​

Promise<V extends SupportedRpcVersion0_10 ? FEE_ESTIMATE : MESSAGE_FEE_ESTIMATE>

Fee estimate

Call Signature​

estimateMessageFee(message, blockIdentifier?): Promise<MESSAGE_FEE_ESTIMATE | FEE_ESTIMATE>

Defined in: src/provider/rpc.ts:623

Parameters​
message​

MSG_FROM_L1

blockIdentifier?​

BlockIdentifier

Returns​

Promise<MESSAGE_FEE_ESTIMATE | FEE_ESTIMATE>


getSyncingStats()​

getSyncingStats(): Promise<Syncing>

Defined in: src/provider/rpc.ts:634

Get node synchronization status

Returns​

Promise<Syncing>

Sync status or false if not syncing


getEvents()​

Call Signature​

getEvents<V>(eventFilter): Promise<V extends SupportedRpcVersion0_10 ? EVENTS_CHUNK : EVENTS_CHUNK>

Defined in: src/provider/rpc.ts:638

Get events matching the given filter

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​
eventFilter​

V extends SupportedRpcVersion0_10 ? EventFilter : EventFilter

event filter

Returns​

Promise<V extends SupportedRpcVersion0_10 ? EVENTS_CHUNK : EVENTS_CHUNK>

Events and pagination info

Call Signature​

getEvents(eventFilter): Promise<EVENTS_CHUNK | EVENTS_CHUNK>

Defined in: src/provider/rpc.ts:641

Parameters​
eventFilter​

EventFilter | EventFilter

Returns​

Promise<EVENTS_CHUNK | EVENTS_CHUNK>


verifyMessageInStarknet()​

verifyMessageInStarknet(message, signature, accountAddress, signatureVerificationFunctionName?, signatureVerificationResponse?): Promise<boolean>

Defined in: src/provider/rpc.ts:656

Verify in Starknet a signature of a TypedData object or of a given hash.

Parameters​

message​

TypedData | BigNumberish

TypedData object to be verified, or message hash to be verified.

signature​

Signature

signature of the message.

accountAddress​

BigNumberish

address of the account that has signed the message.

signatureVerificationFunctionName?​

string

if account contract with non standard account verification function name.

signatureVerificationResponse?​

if account contract with non standard response of verification function.

okResponse​

string[]

nokResponse​

string[]

error​

string[]

Returns​

Promise<boolean>

const myTypedMessage: TypedMessage = .... ;
const messageHash = typedData.getMessageHash(myTypedMessage,accountAddress);
const sign: WeierstrassSignatureType = ec.starkCurve.sign(messageHash, privateKey);
const accountAddress = "0x43b7240d227aa2fb8434350b3321c40ac1b88c7067982549e7609870621b535";
const result1 = await myRpcProvider.verifyMessageInStarknet(myTypedMessage, sign, accountAddress);
const result2 = await myRpcProvider.verifyMessageInStarknet(messageHash, sign, accountAddress);
// result1 = result2 = true

isClassDeclared()​

isClassDeclared(contractClassIdentifier, blockIdentifier?): Promise<boolean>

Defined in: src/provider/rpc.ts:673

Test if class is already declared

Parameters​

contractClassIdentifier​

ContractClassIdentifier

contract class identifier

blockIdentifier?​

BlockIdentifier

block identifier

Returns​

Promise<boolean>

true if class is declared


prepareInvocations()​

prepareInvocations(invocations): Promise<Invocations>

Defined in: src/provider/rpc.ts:701

Build bulk invocations with auto-detect declared class

Parameters​

invocations​

Invocations

array of invocations

Returns​

Promise<Invocations>

Prepared invocations


getL1MessagesStatus()​

Call Signature​

getL1MessagesStatus<V>(transactionHash): Promise<V extends SupportedRpcVersion0_10 ? L1L2MessagesStatus : L1L2MessagesStatus>

Defined in: src/provider/rpc.ts:722

Get L1 messages status for a transaction

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​
transactionHash​

BigNumberish

L1 transaction hash

Returns​

Promise<V extends SupportedRpcVersion0_10 ? L1L2MessagesStatus : L1L2MessagesStatus>

L1 message status

Call Signature​

getL1MessagesStatus(transactionHash): Promise<L1L2MessagesStatus | L1L2MessagesStatus>

Defined in: src/provider/rpc.ts:729

Parameters​
transactionHash​

BigNumberish

Returns​

Promise<L1L2MessagesStatus | L1L2MessagesStatus>


getStorageProof()​

getStorageProof(classHashes, contractAddresses, contractsStorageKeys, blockIdentifier?): Promise<StorageProof>

Defined in: src/provider/rpc.ts:738

Get Merkle paths in state tries

Parameters​

classHashes​

BigNumberish[]

class hashes

contractAddresses​

BigNumberish[]

contract addresses

contractsStorageKeys​

CONTRACT_STORAGE_KEYS[]

storage keys

blockIdentifier?​

BlockIdentifier

block identifier

Returns​

Promise<StorageProof>

Storage proof


getCompiledCasm()​

getCompiledCasm(classHash): Promise<CASM_COMPILED_CONTRACT_CLASS>

Defined in: src/provider/rpc.ts:752

Get compiled CASM contract class

Parameters​

classHash​

BigNumberish

class hash

Returns​

Promise<CASM_COMPILED_CONTRACT_CLASS>

Compiled CASM contract class


getEstimateTip()​

getEstimateTip(blockIdentifier?, options?): Promise<TipEstimate>

Defined in: src/provider/rpc.ts:756

Get transaction tip estimation based on network analysis

Parameters​

blockIdentifier?​

BlockIdentifier

block identifier to analyze from

options?​

TipAnalysisOptions = {}

tip analysis options

Returns​

Promise<TipEstimate>

Tip estimation with statistics

Example​

const tipEstimate = await provider.getEstimateTip('latest', {
maxBlocks: 10,
minTxsNecessary: 5
});
console.log('Recommended tip:', tipEstimate.recommendedTip);

getStarkName()​

getStarkName(address, StarknetIdContract?): Promise<string>

Defined in: src/plugins/starknet-id/index.ts:27

Parameters​

address​

BigNumberish

StarknetIdContract?​

string

Returns​

Promise<string>

Inherited from​

StarknetIdProviderMethods.getStarkName


getAddressFromStarkName()​

getAddressFromStarkName(name, StarknetIdContract?): Promise<string>

Defined in: src/plugins/starknet-id/index.ts:28

Parameters​

name​

string

StarknetIdContract?​

string

Returns​

Promise<string>

Inherited from​

StarknetIdProviderMethods.getAddressFromStarkName


getStarkProfile()​

getStarkProfile(address, StarknetIdContract?, StarknetIdIdentityContract?, StarknetIdVerifierContract?, StarknetIdPfpContract?, StarknetIdPopContract?, StarknetIdMulticallContract?): Promise<StarkProfile>

Defined in: src/plugins/starknet-id/index.ts:29

Parameters​

address​

BigNumberish

StarknetIdContract?​

string

StarknetIdIdentityContract?​

string

StarknetIdVerifierContract?​

string

StarknetIdPfpContract?​

string

StarknetIdPopContract?​

string

StarknetIdMulticallContract?​

string

Returns​

Promise<StarkProfile>

Inherited from​

StarknetIdProviderMethods.getStarkProfile


getBrotherName()​

getBrotherName(address, BrotherIdContract?): Promise<string>

Defined in: src/plugins/brother-id/index.ts:47

Parameters​

address​

BigNumberish

BrotherIdContract?​

string

Returns​

Promise<string>

Inherited from​

BrotherIdProviderMethods.getBrotherName


getAddressFromBrotherName()​

getAddressFromBrotherName(name, BrotherIdContract?): Promise<string>

Defined in: src/plugins/brother-id/index.ts:48

Parameters​

name​

string

BrotherIdContract?​

string

Returns​

Promise<string>

Inherited from​

BrotherIdProviderMethods.getAddressFromBrotherName


getBrotherProfile()​

getBrotherProfile(address, BrotherIdContract?): Promise<BrotherProfile>

Defined in: src/plugins/brother-id/index.ts:49

Parameters​

address​

BigNumberish

BrotherIdContract?​

string

Returns​

Promise<BrotherProfile>

Inherited from​

BrotherIdProviderMethods.getBrotherProfile


fastWaitForTransaction()​

fastWaitForTransaction(txHash, address, initNonce, options?): Promise<boolean>

Defined in: src/plugins/fast-execute/types.ts:60

Wait for transaction confirmation with polling optimization for gaming.

This method is fast but Events and transaction reports are not yet available. Useful for gaming activity and rapid-fire transaction scenarios.

Only available on RPC 0.9 and onwards.

Parameters​

txHash​

BigNumberish

Transaction hash to monitor

address​

string

Address of the account (used to track nonce changes)

initNonce​

BigNumberish

Initial nonce of the account (before the transaction)

options?​

FastWaitForTransactionOptions

Polling configuration options. retries is the number of times to retry (default: 50), retryInterval is the time in ms between retries (default: 500).

Returns​

Promise<boolean>

Returns true if the next transaction is possible (nonce increment detected), false if the timeout has been reached, or throws an error in case of provider communication failure or transaction reversion.

Example​

const isReady = await provider.fastWaitForTransaction(
'0x123abc...',
'0x456def...',
10,
{ retries: 30, retryInterval: 500 }
);

if (isReady) {
// Next transaction can be sent
}

Inherited from​

FastExecuteProviderMethods.fastWaitForTransaction