Skip to main content
Version: Next

Class: RpcChannel

RPC08.RpcChannel

Constructors

constructor

new RpcChannel(optionsOrProvider?): RpcChannel

Parameters

NameType
optionsOrProvider?RpcProviderOptions

Returns

RpcChannel

Defined in

src/channel/rpc_0_8_1.ts:88

Properties

id

Readonly id: "RPC081"

Defined in

src/channel/rpc_0_8_1.ts:56


channelSpecVersion

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

RPC specification version this Channel class implements

Defined in

src/channel/rpc_0_8_1.ts:61


nodeUrl

nodeUrl: string

Defined in

src/channel/rpc_0_8_1.ts:63


headers

headers: object

Defined in

src/channel/rpc_0_8_1.ts:65


requestId

requestId: number

Defined in

src/channel/rpc_0_8_1.ts:67


blockIdentifier

Readonly blockIdentifier: BlockIdentifier

Defined in

src/channel/rpc_0_8_1.ts:69


retries

Readonly retries: number

Defined in

src/channel/rpc_0_8_1.ts:71


waitMode

Readonly waitMode: boolean

Defined in

src/channel/rpc_0_8_1.ts:73


chainId

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

Defined in

src/channel/rpc_0_8_1.ts:75


specVersion

Private Optional specVersion: "0.8.1" | "0.9.0"

RPC specification version of the connected node

Defined in

src/channel/rpc_0_8_1.ts:80


transactionRetryIntervalFallback

Private Optional transactionRetryIntervalFallback: number

Defined in

src/channel/rpc_0_8_1.ts:82


batchClient

Private Optional batchClient: BatchClient<Methods>

Defined in

src/channel/rpc_0_8_1.ts:84


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_8_1.ts:86

Accessors

transactionRetryIntervalDefault

get transactionRetryIntervalDefault(): number

Returns

number

Defined in

src/channel/rpc_0_8_1.ts:144

Methods

readSpecVersion

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

Returns

undefined | "0.8.1" | "0.9.0"

Defined in

src/channel/rpc_0_8_1.ts:140


setChainId

setChainId(chainId): void

Parameters

NameType
chainId"0x534e5f4d41494e" | "0x534e5f5345504f4c4941"

Returns

void

Defined in

src/channel/rpc_0_8_1.ts:148


fetch

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

Parameters

NameTypeDefault value
methodstringundefined
params?objectundefined
idstring | number0

Returns

Promise<Response>

Defined in

src/channel/rpc_0_8_1.ts:152


errorHandler

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

Parameters

NameType
methodstring
paramsany
rpcError?Error
otherError?any

Returns

void

Defined in

src/channel/rpc_0_8_1.ts:166


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_8_1.ts:178


getChainId

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

Returns

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

Defined in

src/channel/rpc_0_8_1.ts:203


getSpecVersion

getSpecVersion(): Promise<string>

fetch rpc node specVersion

Returns

Promise<string>

Example

this.specVersion = "0.7.1"

Defined in

src/channel/rpc_0_8_1.ts:212


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_8_1.ts:220


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_8_1.ts:246


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_8_1.ts:254


getCompiledCasm

getCompiledCasm(classHash): Promise<CASM_COMPILED_CONTRACT_CLASS>

Parameters

NameType
classHashBigNumberish

Returns

Promise<CASM_COMPILED_CONTRACT_CLASS>

Defined in

src/channel/rpc_0_8_1.ts:273


getNonceForAddress

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_8_1.ts:281


getBlockLatestAccepted

getBlockLatestAccepted(): Promise<BlockHashAndNumber>

Get the most recent accepted block hash and number

Returns

Promise<BlockHashAndNumber>

Defined in

src/channel/rpc_0_8_1.ts:296


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_8_1.ts:305


getBlockWithTxHashes

getBlockWithTxHashes(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_TX_HASHES, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_TX_HASHES, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PENDING_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_TX_HASHES, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_TX_HASHES, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TX_HASHES & PENDING_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_8_1.ts:309


getBlockWithTxs

getBlockWithTxs(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_TXS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_TXS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PENDING_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_TXS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_TXS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_TXS & PENDING_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_8_1.ts:314


getBlockWithReceipts

getBlockWithReceipts(blockIdentifier?): Promise<OnlyFirst<BLOCK_WITH_RECEIPTS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_RECEIPTS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PENDING_BLOCK_HEADER>>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<OnlyFirst<BLOCK_WITH_RECEIPTS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PENDING_BLOCK_HEADER> | OnlyFirst<PENDING_BLOCK_WITH_RECEIPTS, { status: BLOCK_STATUS } & BLOCK_HEADER & BLOCK_BODY_WITH_RECEIPTS & PENDING_BLOCK_HEADER>>

Defined in

src/channel/rpc_0_8_1.ts:319


getBlockStateUpdate

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

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

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

Defined in

src/channel/rpc_0_8_1.ts:324


getBlockTransactionsTraces

getBlockTransactionsTraces(blockIdentifier?): Promise<BlockTransactionsTraces>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<BlockTransactionsTraces>

Defined in

src/channel/rpc_0_8_1.ts:329


getBlockTransactionCount

getBlockTransactionCount(blockIdentifier?): Promise<number>

Parameters

NameType
blockIdentifierBlockIdentifier

Returns

Promise<number>

Defined in

src/channel/rpc_0_8_1.ts:334


getTransactionByHash

getTransactionByHash(txHash): Promise<TXN_WITH_HASH>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TXN_WITH_HASH>

Defined in

src/channel/rpc_0_8_1.ts:339


getTransactionByBlockIdAndIndex

getTransactionByBlockIdAndIndex(blockIdentifier, index): Promise<TXN_WITH_HASH>

Parameters

NameType
blockIdentifierBlockIdentifier
indexnumber

Returns

Promise<TXN_WITH_HASH>

Defined in

src/channel/rpc_0_8_1.ts:346


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_8_1.ts:351


getTransactionTrace

getTransactionTrace(txHash): Promise<TRANSACTION_TRACE>

Parameters

NameType
txHashBigNumberish

Returns

Promise<TRANSACTION_TRACE>

Defined in

src/channel/rpc_0_8_1.ts:356


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_8_1.ts:364


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_8_1.ts:376


waitForTransaction

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

Parameters

NameType
txHashBigNumberish
options?waitForTransactionOptions

Returns

Promise<TXN_RECEIPT>

Defined in

src/channel/rpc_0_8_1.ts:397


getStorageAt

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

Parameters

NameType
contractAddressBigNumberish
keyBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_8_1.ts:479


getClassHashAt

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

Parameters

NameType
contractAddressBigNumberish
blockIdentifierBlockIdentifier

Returns

Promise<string>

Defined in

src/channel/rpc_0_8_1.ts:494


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_8_1.ts:506


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_8_1.ts:518


getEstimateFee

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

Parameters

NameType
invocationsAccountInvocations
«destructured»getEstimateFeeBulkOptions

Returns

Promise<FEE_ESTIMATE[]>

Defined in

src/channel/rpc_0_8_1.ts:530


invoke

invoke(functionInvocation, details): Promise<InvokedTransaction>

Parameters

NameType
functionInvocationInvocation
detailsInvocationsDetailsWithNonce

Returns

Promise<InvokedTransaction>

Defined in

src/channel/rpc_0_8_1.ts:548


declare

declare(«destructured», details): Promise<TXN_RECEIPT | DeclaredTransaction>

Parameters

NameType
«destructured»DeclareContractTransaction
detailsInvocationsDetailsWithNonce

Returns

Promise<TXN_RECEIPT | DeclaredTransaction>

Defined in

src/channel/rpc_0_8_1.ts:575


deployAccount

deployAccount(«destructured», details): Promise<TXN_RECEIPT | DeployedAccountTransaction>

Parameters

NameType
«destructured»DeployAccountContractTransaction
detailsInvocationsDetailsWithNonce

Returns

Promise<TXN_RECEIPT | DeployedAccountTransaction>

Defined in

src/channel/rpc_0_8_1.ts:611


callContract

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

Parameters

NameType
callCall
blockIdentifierBlockIdentifier

Returns

Promise<string[]>

Defined in

src/channel/rpc_0_8_1.ts:641


estimateMessageFee

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

NEW: Estimate the fee for a message from L1

Parameters

NameTypeDescription
messageMSG_FROM_L1Message From L1
blockIdentifierBlockIdentifier-

Returns

Promise<FEE_ESTIMATE>

Defined in

src/channel/rpc_0_8_1.ts:657


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_8_1.ts:680


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_8_1.ts:688


buildTransaction

buildTransaction(invocation, versionType?): BROADCASTED_TXN

Parameters

NameType
invocationAccountInvocationItem
versionType?"fee" | "transaction"

Returns

BROADCASTED_TXN

Defined in

src/channel/rpc_0_8_1.ts:692