Skip to main content
Version: Next

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

Properties

id

Readonly id: "RPC090"

Defined in

src/channel/rpc_0_9_0.ts:62


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


nodeUrl

nodeUrl: string

Defined in

src/channel/rpc_0_9_0.ts:69


headers

headers: object

Defined in

src/channel/rpc_0_9_0.ts:71


requestId

requestId: number

Defined in

src/channel/rpc_0_9_0.ts:73


blockIdentifier

Readonly blockIdentifier: BlockIdentifier

Defined in

src/channel/rpc_0_9_0.ts:75


retries

Readonly retries: number

Defined in

src/channel/rpc_0_9_0.ts:77


waitMode

Readonly waitMode: boolean

Defined in

src/channel/rpc_0_9_0.ts:79


chainId

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

Defined in

src/channel/rpc_0_9_0.ts:81


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


transactionRetryIntervalFallback

Private Optional transactionRetryIntervalFallback: number

Defined in

src/channel/rpc_0_9_0.ts:88


batchClient

Private Optional batchClient: BatchClient<Methods>

Defined in

src/channel/rpc_0_9_0.ts:90


baseFetch

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

Type declaration

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

Parameters
NameType
inputRequestInfo | URL
init?RequestInit
Returns

Promise<Response>

Defined in

src/channel/rpc_0_9_0.ts:92

Accessors

transactionRetryIntervalDefault

get transactionRetryIntervalDefault(): number

Returns

number

Defined in

src/channel/rpc_0_9_0.ts:150

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


setChainId

setChainId(chainId): void

Parameters

NameType
chainId"0x534e5f4d41494e" | "0x534e5f5345504f4c4941"

Returns

void

Defined in

src/channel/rpc_0_9_0.ts:154


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


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


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


getChainId

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

Returns

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

Defined in

src/channel/rpc_0_9_0.ts:209


getSpecVersion

getSpecVersion(): Promise<string>

fetch rpc node specVersion

Returns

Promise<string>

Example

this.specVersion = "0.7.1"

Defined in

src/channel/rpc_0_9_0.ts:218


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.8.1"

Defined in

src/channel/rpc_0_9_0.ts:226


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


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


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


getNonceForAddress

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:287


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


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


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


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


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


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


getBlockTransactionsTraces

getBlockTransactionsTraces(blockIdentifier?): Promise<BlockTransactionsTraces>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<BlockTransactionsTraces>

Defined in

src/channel/rpc_0_9_0.ts:335


getBlockTransactionCount

getBlockTransactionCount(blockIdentifier?): Promise<number>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<number>

Defined in

src/channel/rpc_0_9_0.ts:340


getTransactionByHash

getTransactionByHash(txHash): Promise<TXN_WITH_HASH>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TXN_WITH_HASH>

Defined in

src/channel/rpc_0_9_0.ts:345


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


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


getTransactionTrace

getTransactionTrace(txHash): Promise<TRANSACTION_TRACE>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TRANSACTION_TRACE>

Defined in

src/channel/rpc_0_9_0.ts:362


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


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


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


getStorageAt

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

Parameters

NameType
contractAddressBigNumberish
keyBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:480


getClassHashAt

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_9_0.ts:495


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


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


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


invoke

invoke(functionInvocation, details): Promise<InvokedTransaction>

Parameters

NameType
functionInvocationInvocation
detailsInvocationsDetailsWithNonce

Returns

Promise<InvokedTransaction>

Defined in

src/channel/rpc_0_9_0.ts:549


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


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


callContract

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

Parameters

NameType
callCall
blockIdentifierBlockIdentifier

Returns

Promise<string[]>

Defined in

src/channel/rpc_0_9_0.ts:606


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


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


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


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