Skip to main content
Version: 8.6.0

Class: ProviderInterface

Hierarchy​

Constructors​

constructor​

• new ProviderInterface(): ProviderInterface

Returns​

ProviderInterface

Properties​

channel​

• Abstract channel: RpcChannel | RpcChannel

Defined in​

src/provider/interface.ts:47


responseParser​

• Abstract responseParser: RPCResponseParser

Defined in​

src/provider/interface.ts:49

Methods​

getChainId​

▸ getChainId(): Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">

Gets the Starknet chain Id

Returns​

Promise<"0x534e5f4d41494e" | "0x534e5f5345504f4c4941">

the chain Id

Defined in​

src/provider/interface.ts:56


callContract​

▸ callContract(call, blockIdentifier?): Promise<CallContractResponse>

Calls a function on the Starknet contract.

Parameters​

NameTypeDescription
callCalltransaction to be called
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<CallContractResponse>

the result of the function on the smart contract.

Defined in​

src/provider/interface.ts:65


getBlock​

▸ getBlock(): 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

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​

src/provider/interface.ts:76

▸ 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 }>

Parameters​

NameType
blockIdentifier"pre_confirmed"

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 }>

Defined in​

src/provider/interface.ts:77

▸ 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 ; transactions: string[] }>

Parameters​

NameType
blockIdentifier"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 ; transactions: string[] }>

Defined in​

src/provider/interface.ts:78

▸ getBlock(blockIdentifier): Promise<GetBlockResponse>

Parameters​

NameType
blockIdentifierBlockIdentifier

Returns​

Promise<GetBlockResponse>

Defined in​

src/provider/interface.ts:79


getClassAt​

▸ getClassAt(contractAddress, blockIdentifier?): Promise<ContractClassResponse>

Gets the contract class of the deployed contract.

Parameters​

NameTypeDescription
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<ContractClassResponse>

Contract class of compiled contract

Defined in​

src/provider/interface.ts:88


getL1GasPrice​

▸ getL1GasPrice(blockIdentifier?): Promise<string>

Gets the price of l1 gas in the block

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string>

gas price of the block

Defined in​

src/provider/interface.ts:99


getL1MessageHash​

▸ getL1MessageHash(l2TxHash): Promise<string>

Get L1 message hash from L2 transaction hash

Parameters​

NameTypeDescription
l2TxHashBigNumberishL2 transaction hash

Returns​

Promise<string>

Hex string of L1 message hash

Example

In Sepolia Testnet :

const result = provider.getL1MessageHash(
'0x28dfc05eb4f261b37ddad451ff22f1d08d4e3c24dc646af0ec69fa20e096819'
);
// result = '0x55b3f8b6e607fffd9b4d843dfe8f9b5c05822cd94fcad8797deb01d77805532a'

Defined in​

src/provider/interface.ts:112


getClassHashAt​

▸ getClassHashAt(contractAddress, blockIdentifier?): Promise<string>

Returns the contract class hash in the given block for the contract deployed at the given address

Parameters​

NameTypeDescription
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string>

Class hash

Defined in​

src/provider/interface.ts:121


getClassByHash​

▸ getClassByHash(classHash): Promise<ContractClassResponse>

Returns the contract class deployed under the given class hash.

Parameters​

NameTypeDescription
classHashBigNumberishclass hash

Returns​

Promise<ContractClassResponse>

Contract class of compiled contract

Defined in​

src/provider/interface.ts:132


getNonceForAddress​

▸ getNonceForAddress(contractAddress, blockIdentifier?): Promise<string>

Returns the nonce associated with the given address in the given block

Parameters​

NameTypeDescription
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifier-

Returns​

Promise<string>

the hex nonce

Defined in​

src/provider/interface.ts:140


getStorageAt​

▸ getStorageAt(contractAddress, key, blockIdentifier?): Promise<string>

Get the value of the storage (contract's variable) at the given address and key

Parameters​

NameTypeDescription
contractAddressBigNumberish
keyBigNumberishfrom getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string>

the value of the storage variable

Defined in​

src/provider/interface.ts:153


getTransaction​

▸ getTransaction(transactionHash): Promise<TransactionWithHash>

Gets the transaction information from a tx id.

Parameters​

NameType
transactionHashBigNumberish

Returns​

Promise<TransactionWithHash>

the transaction object { transaction_id, status, transaction, block_number?, block_number?, transaction_index?, transaction_failure_reason? }

Defined in​

src/provider/interface.ts:165


getTransactionReceipt​

▸ getTransactionReceipt(transactionHash): Promise<GetTransactionReceiptResponse>

Gets the transaction receipt from a tx hash.

Parameters​

NameType
transactionHashBigNumberish

Returns​

Promise<GetTransactionReceiptResponse>

the transaction receipt object

Defined in​

src/provider/interface.ts:173


deployAccountContract​

▸ deployAccountContract(payload, details): Promise<DeployContractResponse>

Deploys a given compiled Account contract (json) to starknet

Parameters​

NameTypeDescription
payloadDeployAccountContractPayloadpayload to be deployed containing: - compiled contract code - constructor calldata - address salt
detailsInvocationsDetailsWithNonce-

Returns​

Promise<DeployContractResponse>

a confirmation of sending a transaction on the starknet contract

Defined in​

src/provider/interface.ts:186


invokeFunction​

▸ invokeFunction(invocation, details): Promise<{ transaction_hash: string }>

Invokes a function on starknet

Parameters​

NameTypeDescription
invocationInvocationthe 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
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee

Returns​

Promise<{ transaction_hash: string }>

response from addTransaction

Defined in​

src/provider/interface.ts:205


declareContract​

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

Declares a given compiled contract (json) to starknet

Parameters​

NameTypeDescription
transactionDeclareContractTransactiontransaction payload to be deployed containing: - compiled contract code - sender address - signature
detailsInvocationsDetailsWithNonceInvocation 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​

src/provider/interface.ts:222


getInvokeEstimateFee​

▸ getInvokeEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponseOverhead>

Estimates the fee for a given INVOKE transaction

Parameters​

NameTypeDescription
invocationInvocationthe 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
detailsInvocationsDetailsWithNonceoptional 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
);

Alias

getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction

Defined in​

src/provider/interface.ts:250


getDeclareEstimateFee​

▸ getDeclareEstimateFee(transaction, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponseOverhead>

Estimates the fee for a given DECLARE transaction

Parameters​

NameTypeDescription
transactionDeclareContractTransactiontransaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - version - optional version - optional maxFee
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
);

Alias

getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction

Defined in​

src/provider/interface.ts:280


getDeployAccountEstimateFee​

▸ getDeployAccountEstimateFee(transaction, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponseOverhead>

Estimates the fee for a given DEPLOY_ACCOUNT transaction

Parameters​

NameTypeDescription
transactionDeployAccountContractTransactiontransaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - version - optional version - optional maxFee
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
);

Alias

getEstimateFeeBulk - This method is an alias that calls getEstimateFeeBulk with a single transaction

Defined in​

src/provider/interface.ts:311


getEstimateFeeBulk​

▸ getEstimateFeeBulk(invocations, options?): Promise<EstimateFeeResponseBulkOverhead>

Estimates the fee for a list of INVOKE transaction

Parameters​

NameTypeDescription
invocationsAccountInvocationsAccountInvocations - Complete invocations array with account details
options?getEstimateFeeBulkOptionsgetEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier

Returns​

Promise<EstimateFeeResponseBulkOverhead>

the estimated fee

Defined in​

src/provider/interface.ts:326


waitForTransaction​

▸ waitForTransaction(txHash, options?): Promise<GetTransactionReceiptResponse>

Wait for the transaction to be accepted

Parameters​

NameTypeDescription
txHashBigNumberishtransaction hash
options?waitForTransactionOptionswaitForTransactionOptions - (optional) retryInterval: number | undefined; - (optional) successStates: TransactionStatus[] | undefined;

Returns​

Promise<GetTransactionReceiptResponse>

GetTransactionReceiptResponse

Defined in​

src/provider/interface.ts:339


getSimulateTransaction​

▸ getSimulateTransaction(invocations, options?): Promise<SimulateTransactionOverheadResponse>

Simulates the transaction and returns the transaction trace and estimated fee.

Parameters​

NameTypeDescription
invocationsAccountInvocationsAccountInvocations - Complete invocations array with account details
options?getSimulateTransactionOptionsgetSimulateTransactionOptions - (optional) blockIdentifier - block identifier - (optional) skipValidate - skip cairo validate method - (optional) skipExecute - skip cairo execute method

Returns​

Promise<SimulateTransactionOverheadResponse>

an array of transaction trace and estimated fee

Defined in​

src/provider/interface.ts:354


getStateUpdate​

▸ getStateUpdate(blockIdentifier?): Promise<StateUpdateResponse>

Gets the state changes in a specific block (result of executing the requested block)

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<StateUpdateResponse>

StateUpdateResponse

Defined in​

src/provider/interface.ts:365


getBlockStateUpdate​

▸ getBlockStateUpdate(): Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] } }>

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: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] } }>

StateUpdateResponse

Defined in​

src/provider/interface.ts:374

▸ getBlockStateUpdate(blockIdentifier): Promise<PRE_CONFIRMED_STATE_UPDATE>

Parameters​

NameType
blockIdentifier"pre_confirmed"

Returns​

Promise<PRE_CONFIRMED_STATE_UPDATE>

Defined in​

src/provider/interface.ts:375

▸ getBlockStateUpdate(blockIdentifier): Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] } }>

Parameters​

NameType
blockIdentifier"latest"

Returns​

Promise<{ block_hash: string ; new_root: string ; old_root: string ; state_diff: { storage_diffs: { address: string ; storage_entries: { key: string ; value: string }[] }[] ; deprecated_declared_classes: string[] ; declared_classes: { class_hash: string ; compiled_class_hash: string }[] ; deployed_contracts: { address: string ; class_hash: string }[] ; replaced_classes: { contract_address: string ; class_hash: string }[] ; nonces: { nonce: string ; contract_address: string }[] } }>

Defined in​

src/provider/interface.ts:378

▸ getBlockStateUpdate(blockIdentifier?): Promise<StateUpdateResponse>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<StateUpdateResponse>

Defined in​

src/provider/interface.ts:379


getContractVersion​

▸ getContractVersion(contractAddress, classHash?, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

NameTypeDescription
contractAddressBigNumberishstring
classHash?undefinedundefined
options?getContractVersionOptionsgetContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier

Returns​

Promise<ContractVersion>

Defined in​

src/provider/interface.ts:391

▸ getContractVersion(contractAddress, classHash, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

NameTypeDescription
contractAddressundefinedundefined
classHashBigNumberish
options?getContractVersionOptionsgetContractVersionOptions - (optional) compiler - (default true) extract compiler version using type tactic from abi - (optional) blockIdentifier - block identifier

Returns​

Promise<ContractVersion>

Defined in​

src/provider/interface.ts:405


getBlockLatestAccepted​

▸ getBlockLatestAccepted(): Promise<{ block_hash: string ; block_number: number }>

Get the most recent accepted block hash and number

Returns​

Promise<{ block_hash: string ; block_number: number }>

Object containing block hash and number

Defined in​

src/provider/interface.ts:416


getBlockNumber​

▸ getBlockNumber(): Promise<number>

Get the most recent accepted block number

Returns​

Promise<number>

Number of the latest block

Defined in​

src/provider/interface.ts:422


getBlockWithTxHashes​

▸ getBlockWithTxHashes(blockIdentifier?): Promise<any>

Get block information with transaction hashes

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<any>

Block with transaction hashes

Defined in​

src/provider/interface.ts:429


getBlockWithTxs​

▸ getBlockWithTxs(blockIdentifier?): Promise<any>

Get block information with full transactions

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<any>

Block with full transactions

Defined in​

src/provider/interface.ts:436


getBlockWithReceipts​

▸ getBlockWithReceipts(blockIdentifier?): Promise<any>

Get block information with transaction receipts

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<any>

Block with transaction receipts

Defined in​

src/provider/interface.ts:443


getBlockTransactionsTraces​

▸ getBlockTransactionsTraces(blockIdentifier?): Promise<any>

Get transaction traces for all transactions in a block

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<any>

Array of transaction traces

Defined in​

src/provider/interface.ts:450


getBlockTransactionCount​

▸ getBlockTransactionCount(blockIdentifier?): Promise<number>

Get the number of transactions in a block

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<number>

Transaction count

Defined in​

src/provider/interface.ts:457


waitForBlock​

▸ waitForBlock(blockIdentifier?, retryInterval?): Promise<void>

Pause execution until a specified block is created

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock number or tag
retryInterval?numbermilliseconds between requests (default: 5000)

Returns​

Promise<void>

Example

await provider.waitForBlock(12345);
await provider.waitForBlock('latest');

Defined in​

src/provider/interface.ts:469


getTransactionByHash​

▸ getTransactionByHash(txHash): Promise<TransactionWithHash>

Gets the transaction information from a tx hash (alias for getTransaction)

Parameters​

NameTypeDescription
txHashBigNumberishtransaction hash

Returns​

Promise<TransactionWithHash>

Transaction information

Defined in​

src/provider/interface.ts:480


getTransactionByBlockIdAndIndex​

▸ getTransactionByBlockIdAndIndex(blockIdentifier, index): Promise<TransactionWithHash>

Gets transaction by block identifier and index

Parameters​

NameTypeDescription
blockIdentifierBlockIdentifierblock identifier
indexnumbertransaction index in the block

Returns​

Promise<TransactionWithHash>

Transaction information

Defined in​

src/provider/interface.ts:488


getTransactionTrace​

▸ getTransactionTrace(txHash): Promise<TRANSACTION_TRACE | TRANSACTION_TRACE>

Gets the transaction trace

Parameters​

NameTypeDescription
txHashBigNumberishtransaction hash

Returns​

Promise<TRANSACTION_TRACE | TRANSACTION_TRACE>

Transaction trace

Defined in​

src/provider/interface.ts:498


getTransactionStatus​

▸ getTransactionStatus(transactionHash): Promise<any>

Get the status of a transaction

Parameters​

NameTypeDescription
transactionHashBigNumberishtransaction hash

Returns​

Promise<any>

Transaction status

Defined in​

src/provider/interface.ts:507


fetch​

▸ fetch(method, params?, id?): Promise<any>

Direct RPC method call

Parameters​

NameTypeDescription
methodstringRPC method name
params?objectmethod parameters
id?string | numberrequest ID

Returns​

Promise<any>

RPC response

Defined in​

src/provider/interface.ts:517


readSpecVersion​

▸ readSpecVersion(): undefined | string

Read channel spec version

Returns​

undefined | string

Spec version string or undefined if not set

Defined in​

src/provider/interface.ts:523


getSpecVersion​

▸ getSpecVersion(): Promise<string>

Get channel spec version

Returns​

Promise<string>

Promise resolving to spec version

Defined in​

src/provider/interface.ts:529


setUpSpecVersion​

▸ setUpSpecVersion(): Promise<string>

Setup channel spec version and return it

Returns​

Promise<string>

Promise resolving to spec version

Defined in​

src/provider/interface.ts:535


getClass​

▸ getClass(classHash, blockIdentifier?): Promise<ContractClassResponse>

Get contract class by hash with optional block identifier

Parameters​

NameTypeDescription
classHashBigNumberishclass hash
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<ContractClassResponse>

Contract class

Defined in​

src/provider/interface.ts:544


estimateMessageFee​

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

Estimate the fee for a message from L1

Parameters​

NameTypeDescription
messageMSG_FROM_L1L1 message
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<FEE_ESTIMATE | MESSAGE_FEE_ESTIMATE>

Fee estimate

Defined in​

src/provider/interface.ts:555


getSyncingStats​

▸ getSyncingStats(): Promise<any>

Get node synchronization status

Returns​

Promise<any>

Sync status or false if not syncing

Defined in​

src/provider/interface.ts:564


getEvents​

▸ getEvents(eventFilter): Promise<EVENTS_CHUNK | EVENTS_CHUNK>

Get events matching the given filter

Parameters​

NameTypeDescription
eventFilterEventFilter | EventFilterevent filter

Returns​

Promise<EVENTS_CHUNK | EVENTS_CHUNK>

Events and pagination info

Defined in​

src/provider/interface.ts:571


verifyMessageInStarknet​

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

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

Parameters​

NameTypeDescription
messageTypedData | BigNumberishTypedData object to be verified, or message hash to be verified.
signatureSignaturesignature of the message.
accountAddressBigNumberishaddress of the account that has signed the message.
signatureVerificationFunctionName?stringif account contract with non standard account verification function name.
signatureVerificationResponse?Objectif account contract with non standard response of verification function.
signatureVerificationResponse.okResponsestring[]-
signatureVerificationResponse.nokResponsestring[]-
signatureVerificationResponse.errorstring[]-

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

Defined in​

src/provider/interface.ts:593


isClassDeclared​

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

Test if class is already declared

Parameters​

NameTypeDescription
contractClassIdentifierContractClassIdentifiercontract class identifier
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<boolean>

true if class is declared

Defined in​

src/provider/interface.ts:611


prepareInvocations​

▸ prepareInvocations(invocations): Promise<Invocations>

Build bulk invocations with auto-detect declared class

Parameters​

NameTypeDescription
invocationsInvocationsarray of invocations

Returns​

Promise<Invocations>

Prepared invocations

Defined in​

src/provider/interface.ts:621


getL1MessagesStatus​

▸ getL1MessagesStatus(transactionHash): Promise<L1L2MessagesStatus | L1L2MessagesStatus>

Get L1 messages status for a transaction

Parameters​

NameTypeDescription
transactionHashBigNumberishL1 transaction hash

Returns​

Promise<L1L2MessagesStatus | L1L2MessagesStatus>

L1 message status

Defined in​

src/provider/interface.ts:628


getStorageProof​

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

Get Merkle paths in state tries

Parameters​

NameTypeDescription
classHashesBigNumberish[]class hashes
contractAddressesBigNumberish[]contract addresses
contractsStorageKeysCONTRACT_STORAGE_KEYS[]storage keys
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<StorageProof>

Storage proof

Defined in​

src/provider/interface.ts:640


getCompiledCasm​

▸ getCompiledCasm(classHash): Promise<CASM_COMPILED_CONTRACT_CLASS>

Get compiled CASM contract class

Parameters​

NameTypeDescription
classHashBigNumberishclass hash

Returns​

Promise<CASM_COMPILED_CONTRACT_CLASS>

Compiled CASM contract class

Defined in​

src/provider/interface.ts:652


getEstimateTip​

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

Get transaction tip estimation based on network analysis

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifierblock identifier to analyze from
options?TipAnalysisOptionstip 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);

Defined in​

src/provider/interface.ts:670