Skip to main content
Version: 8.6.0

Class: RpcChannel

RPC09.RpcChannel

Constructors

constructor

new RpcChannel(optionsOrProvider?): RpcChannel

Parameters

NameType
optionsOrProvider?RpcProviderOptions

Returns

RpcChannel

Defined in

src/channel/rpc_0_9_0.ts:95

Properties

id

Readonly id: "RPC090"

Defined in

src/channel/rpc_0_9_0.ts:63


channelSpecVersion

Readonly channelSpecVersion: "0.8.1" | "0.9.0" = SupportedRpcVersion.v0_9_0

RPC specification version this Channel class implements

Defined in

src/channel/rpc_0_9_0.ts:68


nodeUrl

nodeUrl: string

Defined in

src/channel/rpc_0_9_0.ts:70


headers

headers: object

Defined in

src/channel/rpc_0_9_0.ts:72


requestId

requestId: number

Defined in

src/channel/rpc_0_9_0.ts:74


blockIdentifier

Readonly blockIdentifier: BlockIdentifier

Defined in

src/channel/rpc_0_9_0.ts:76


retries

Readonly retries: number

Defined in

src/channel/rpc_0_9_0.ts:78


waitMode

Readonly waitMode: boolean

Defined in

src/channel/rpc_0_9_0.ts:80


chainId

Private Optional chainId: "0x534e5f4d41494e" | "0x534e5f5345504f4c4941"

Defined in

src/channel/rpc_0_9_0.ts:82


specVersion

Private Optional specVersion: "0.8.1" | "0.9.0"

RPC specification version of the connected node

Defined in

src/channel/rpc_0_9_0.ts:87


transactionRetryIntervalFallback

Private Optional transactionRetryIntervalFallback: number

Defined in

src/channel/rpc_0_9_0.ts:89


batchClient

Private Optional batchClient: BatchClient<Methods>

Defined in

src/channel/rpc_0_9_0.ts:91


baseFetch

Private baseFetch: (input: RequestInfo | URL, init?: RequestInit) => Promise<Response>

Type declaration

▸ (input, init?): Promise<Response>

MDN Reference

Parameters
NameType
inputRequestInfo | URL
init?RequestInit
Returns

Promise<Response>

Defined in

src/channel/rpc_0_9_0.ts:93

Accessors

transactionRetryIntervalDefault

get transactionRetryIntervalDefault(): number

Returns

number

Defined in

src/channel/rpc_0_9_0.ts:151

Methods

readSpecVersion

readSpecVersion(): undefined | "0.8.1" | "0.9.0"

Returns

undefined | "0.8.1" | "0.9.0"

Defined in

src/channel/rpc_0_9_0.ts:147


setChainId

setChainId(chainId): void

Parameters

NameType
chainId"0x534e5f4d41494e" | "0x534e5f5345504f4c4941"

Returns

void

Defined in

src/channel/rpc_0_9_0.ts:155


fetch

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

Parameters

NameTypeDefault value
methodstringundefined
params?objectundefined
idstring | number0

Returns

Promise<Response>

Defined in

src/channel/rpc_0_9_0.ts:159


errorHandler

errorHandler(method, params, rpcError?, otherError?): void

Parameters

NameType
methodstring
paramsany
rpcError?Error
otherError?any

Returns

void

Defined in

src/channel/rpc_0_9_0.ts:173


fetchEndpoint

fetchEndpoint<T>(method, params?): Promise<Methods[T][``"result"``]>

Type parameters

NameType
Textends keyof ReadMethods | keyof WriteMethods | keyof TraceMethods

Parameters

NameType
methodT
params?Methods[T][``"params"``]

Returns

Promise<Methods[T][``"result"``]>

Defined in

src/channel/rpc_0_9_0.ts:185


getChainId

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

Returns

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

Defined in

src/channel/rpc_0_9_0.ts:210


getSpecVersion

getSpecVersion(): Promise<string>

fetch rpc node specVersion

Returns

Promise<string>

Example

this.specVersion = '0.9.0';

Defined in

src/channel/rpc_0_9_0.ts:219


setUpSpecVersion

setUpSpecVersion(): Promise<"0.8.1" | "0.9.0">

fetch if undefined else just return this.specVersion

Returns

Promise<"0.8.1" | "0.9.0">

Example

this.specVersion = '0.9.0';

Defined in

src/channel/rpc_0_9_0.ts:227


getMessagesStatus

getMessagesStatus(txHash): Promise<L1L2MessagesStatus>

Given an l1 tx hash, returns the associated l1_handler tx hashes and statuses for all L1 -> L2 messages sent by the l1 transaction, ordered by the l1 tx sending order

Parameters

NameType
txHashBigNumberish

Returns

Promise<L1L2MessagesStatus>

Defined in

src/channel/rpc_0_9_0.ts:253


getStorageProof

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

Parameters

NameTypeDefault value
classHashesBigNumberish[][]
contractAddressesBigNumberish[][]
contractsStorageKeysCONTRACT_STORAGE_KEYS[][]
blockIdentifierBlockIdentifierundefined

Returns

Promise<StorageProof>

Defined in

src/channel/rpc_0_9_0.ts:261


getCompiledCasm

getCompiledCasm(classHash): Promise<CASM_COMPILED_CONTRACT_CLASS>

Parameters

NameType
classHashBigNumberish

Returns

Promise<CASM_COMPILED_CONTRACT_CLASS>

Defined in

src/channel/rpc_0_9_0.ts:280


getNonceForAddress

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:288


getBlockLatestAccepted

getBlockLatestAccepted(): Promise<BlockHashAndNumber>

Get the most recent accepted block hash and number

Returns

Promise<BlockHashAndNumber>

Defined in

src/channel/rpc_0_9_0.ts:303


getBlockNumber

getBlockNumber(): Promise<number>

Get the most recent accepted block number redundant use getBlockLatestAccepted();

Returns

Promise<number>

Number of the latest block

Defined in

src/channel/rpc_0_9_0.ts:312


getBlockWithTxHashes

getBlockWithTxHashes(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_TX_HASHES, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TX_HASHES, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_TX_HASHES, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TX_HASHES, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PRE_CONFIRMED_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_9_0.ts:316


getBlockWithTxs

getBlockWithTxs(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_TXS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TXS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_TXS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_TXS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PRE_CONFIRMED_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_9_0.ts:321


getBlockWithReceipts

getBlockWithReceipts(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_RECEIPTS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_RECEIPTS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_RECEIPTS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER> | OnlyFirst<PRE_CONFIRMED_BLOCK_WITH_RECEIPTS, { status: EBlockStatus } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PRE_CONFIRMED_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_9_0.ts:326


getBlockStateUpdate

getBlockStateUpdate(blockIdentifier?): Promise<OnlyFirst<STATE_UPDATE, STATE_UPDATE & PRE_CONFIRMED_STATE_UPDATE> | OnlyFirst<PRE_CONFIRMED_STATE_UPDATE, STATE_UPDATE & PRE_CONFIRMED_STATE_UPDATE>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<STATE_UPDATE, STATE_UPDATE & PRE_CONFIRMED_STATE_UPDATE> | OnlyFirst<PRE_CONFIRMED_STATE_UPDATE, STATE_UPDATE & PRE_CONFIRMED_STATE_UPDATE>>

Defined in

src/channel/rpc_0_9_0.ts:331


getBlockTransactionsTraces

getBlockTransactionsTraces(blockIdentifier?): Promise<BlockTransactionsTraces>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<BlockTransactionsTraces>

Defined in

src/channel/rpc_0_9_0.ts:336


getBlockTransactionCount

getBlockTransactionCount(blockIdentifier?): Promise<number>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<number>

Defined in

src/channel/rpc_0_9_0.ts:341


getTransactionByHash

getTransactionByHash(txHash): Promise<TXN_WITH_HASH>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TXN_WITH_HASH>

Defined in

src/channel/rpc_0_9_0.ts:346


getTransactionByBlockIdAndIndex

getTransactionByBlockIdAndIndex(blockIdentifier, index): Promise<TXN_WITH_HASH>

Parameters

NameType
blockIdentifierBlockIdentifier
indexnumber

Returns

Promise<TXN_WITH_HASH>

Defined in

src/channel/rpc_0_9_0.ts:353


getTransactionReceipt

getTransactionReceipt(txHash): Promise<TXN_RECEIPT_WITH_BLOCK_INFO>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TXN_RECEIPT_WITH_BLOCK_INFO>

Defined in

src/channel/rpc_0_9_0.ts:358


getTransactionTrace

getTransactionTrace(txHash): Promise<TRANSACTION_TRACE>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TRANSACTION_TRACE>

Defined in

src/channel/rpc_0_9_0.ts:363


getTransactionStatus

getTransactionStatus(transactionHash): Promise<TXN_STATUS_RESULT>

Get the status of a transaction

Parameters

NameType
transactionHashBigNumberish

Returns

Promise<TXN_STATUS_RESULT>

Defined in

src/channel/rpc_0_9_0.ts:371


simulateTransaction

simulateTransaction(invocations, simulateTransactionOptions?): Promise<SimulateTransactionResponse>

Parameters

NameTypeDescription
invocationsAccountInvocationsAccountInvocations
simulateTransactionOptionsgetSimulateTransactionOptionsblockIdentifier and flags to skip validation and fee charge
- blockIdentifier
- skipValidate (default false)
- skipFeeCharge (default true)

Returns

Promise<SimulateTransactionResponse>

Defined in

src/channel/rpc_0_9_0.ts:383


waitForTransaction

waitForTransaction(txHash, options?): Promise<TXN_RECEIPT>

Parameters

NameType
txHashBigNumberish
options?waitForTransactionOptions

Returns

Promise<TXN_RECEIPT>

Defined in

src/channel/rpc_0_9_0.ts:404


fastWaitForTransaction

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

Parameters

NameType
txHashBigNumberish
addressstring
initNonceBNBigNumberish
options?fastWaitForTransactionOptions

Returns

Promise<boolean>

Defined in

src/channel/rpc_0_9_0.ts:498


getStorageAt

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

Parameters

NameType
contractAddressBigNumberish
keyBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:552


getClassHashAt

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:567


getClass

getClass(classHash, blockIdentifier?): Promise<OnlyFirst<CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS> | OnlyFirst<DEPRECATED_CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS>>

Parameters

NameType
classHashBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS> | OnlyFirst<DEPRECATED_CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS>>

Defined in

src/channel/rpc_0_9_0.ts:579


getClassAt

getClassAt(contractAddress, blockIdentifier?): Promise<OnlyFirst<CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS> | OnlyFirst<DEPRECATED_CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS>>

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS> | OnlyFirst<DEPRECATED_CONTRACT_CLASS, CONTRACT_CLASS & DEPRECATED_CONTRACT_CLASS>>

Defined in

src/channel/rpc_0_9_0.ts:591


getEstimateFee

getEstimateFee(invocations, «destructured»?): Promise<FEE_ESTIMATE[]>

Parameters

NameType
invocationsAccountInvocations
«destructured»getEstimateFeeBulkOptions

Returns

Promise<FEE_ESTIMATE[]>

Defined in

src/channel/rpc_0_9_0.ts:603


invoke

invoke(functionInvocation, details): Promise<InvokedTransaction>

Parameters

NameType
functionInvocationInvocation
detailsInvocationsDetailsWithNonce

Returns

Promise<InvokedTransaction>

Defined in

src/channel/rpc_0_9_0.ts:621


declare

declare(declareTransaction, details): Promise<TXN_RECEIPT | DeclaredTransaction>

Parameters

NameType
declareTransactionDeclareContractTransaction
detailsInvocationsDetailsWithNonce

Returns

Promise<TXN_RECEIPT | DeclaredTransaction>

Defined in

src/channel/rpc_0_9_0.ts:638


deployAccount

deployAccount(deployAccountTransaction, details): Promise<TXN_RECEIPT | DeployedAccountTransaction>

Parameters

NameType
deployAccountTransactionDeployAccountContractTransaction
detailsInvocationsDetailsWithNonce

Returns

Promise<TXN_RECEIPT | DeployedAccountTransaction>

Defined in

src/channel/rpc_0_9_0.ts:658


callContract

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

Parameters

NameType
callCall
blockIdentifierBlockIdentifier

Returns

Promise<string[]>

Defined in

src/channel/rpc_0_9_0.ts:678


estimateMessageFee

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

NEW: Estimate the fee for a message from L1

Parameters

NameTypeDescription
messageMSG_FROM_L1Message From L1
blockIdentifierBlockIdentifier-

Returns

Promise<MESSAGE_FEE_ESTIMATE>

Defined in

src/channel/rpc_0_9_0.ts:694


getSyncingStats

getSyncingStats(): Promise<Syncing>

Returns an object about the sync status, or false if the node is not synching

Returns

Promise<Syncing>

Object with the stats data

Defined in

src/channel/rpc_0_9_0.ts:717


getEvents

getEvents(eventFilter): Promise<EVENTS_CHUNK>

Returns all events matching the given filter

Parameters

NameType
eventFilterEventFilter

Returns

Promise<EVENTS_CHUNK>

events and the pagination of the events

Defined in

src/channel/rpc_0_9_0.ts:725


buildTransaction

buildTransaction<T>(invocation, versionType?): T extends { type: "INVOKE" } ? INVOKE_TXN_V3 : T extends { type: "DECLARE" } ? BROADCASTED_DECLARE_TXN_V3 : T extends { type: "DEPLOY_ACCOUNT" } ? DEPLOY_ACCOUNT_TXN_V3 : never

Type parameters

NameType
Textends AccountInvocationItem

Parameters

NameType
invocationT
versionType?"fee" | "transaction"

Returns

T extends { type: "INVOKE" } ? INVOKE_TXN_V3 : T extends { type: "DECLARE" } ? BROADCASTED_DECLARE_TXN_V3 : T extends { type: "DEPLOY_ACCOUNT" } ? DEPLOY_ACCOUNT_TXN_V3 : never

Defined in

src/channel/rpc_0_9_0.ts:730