Skip to main content
Version: 11.x

Class: RpcChannel

Defined in: src/channel/rpc_0_9_0.ts:55

Constructors​

Constructor​

new RpcChannel(optionsOrProvider?): RpcChannel

Defined in: src/channel/rpc_0_9_0.ts:91

Parameters​

optionsOrProvider?​

RpcProviderOptions

Returns​

RpcChannel

Properties​

id​

readonly id: "RPC090" = 'RPC090'

Defined in: src/channel/rpc_0_9_0.ts:56


channelSpecVersion​

readonly channelSpecVersion: "0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4" = SupportedRpcVersion.v0_9_0

Defined in: src/channel/rpc_0_9_0.ts:61

RPC specification version this Channel class implements


nodeUrl​

nodeUrl: string

Defined in: src/channel/rpc_0_9_0.ts:63


headers​

headers: object

Defined in: src/channel/rpc_0_9_0.ts:65


requestId​

requestId: number

Defined in: src/channel/rpc_0_9_0.ts:67


blockIdentifier​

readonly blockIdentifier: BlockIdentifier

Defined in: src/channel/rpc_0_9_0.ts:69


retries​

readonly retries: number

Defined in: src/channel/rpc_0_9_0.ts:71


waitMode​

readonly waitMode: boolean

Defined in: src/channel/rpc_0_9_0.ts:73

Methods​

readSpecVersion()​

readSpecVersion(): "0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4" | undefined

Defined in: src/channel/rpc_0_9_0.ts:152

Returns​

"0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4" | undefined


setChainId()​

setChainId(chainId): void

Defined in: src/channel/rpc_0_9_0.ts:160

Parameters​

chainId​

"0x534e5f4d41494e" | "0x534e5f5345504f4c4941"

Returns​

void


fetch()​

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

Defined in: src/channel/rpc_0_9_0.ts:170

Escape hatch: POSTs a single JSON-RPC call and hands back the raw HTTP response.

No longer on the fetchEndpoint path — that one goes through the transport — but kept because it is public API and RpcProvider.fetch() is built on it.

Parameters​

method​

string

params?​

object

id?​

string | number

Returns​

Promise<Response>


getChainId()​

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

Defined in: src/channel/rpc_0_9_0.ts:233

Returns​

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


getSpecVersion()​

getSpecVersion(): Promise<string>

Defined in: src/channel/rpc_0_9_0.ts:242

fetch rpc node specVersion

Returns​

Promise<string>

Example​

this.specVersion = "0.9.0"

setUpSpecVersion()​

setUpSpecVersion(): Promise<"0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4">

Defined in: src/channel/rpc_0_9_0.ts:250

fetch if undefined else just return this.specVersion

Returns​

Promise<"0.9.0" | "0.10.0" | "0.10.2" | "0.10.3" | "0.10.4">

Example​

this.specVersion = "0.9.0"

getMessagesStatus()​

getMessagesStatus(txHash): Promise<L1L2MessagesStatus>

Defined in: src/channel/rpc_0_9_0.ts:279

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​

txHash​

BigNumberish

Returns​

Promise<L1L2MessagesStatus>


getStorageProof()​

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

Defined in: src/channel/rpc_0_9_0.ts:287

Parameters​

classHashes?​

BigNumberish[] = []

contractAddresses?​

BigNumberish[] = []

contractsStorageKeys?​

CONTRACT_STORAGE_KEYS[] = []

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<StorageProof>


getCompiledCasm()​

getCompiledCasm(classHash): Promise<CASM_COMPILED_CONTRACT_CLASS>

Defined in: src/channel/rpc_0_9_0.ts:306

Parameters​

classHash​

BigNumberish

Returns​

Promise<CASM_COMPILED_CONTRACT_CLASS>


getNonceForAddress()​

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

Defined in: src/channel/rpc_0_9_0.ts:314

Parameters​

contractAddress​

BigNumberish

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<string>


getStarknetVersion()​

getStarknetVersion(blockIdentifier?): Promise<string>

Defined in: src/channel/rpc_0_9_0.ts:330

Helper method to get the starknet version from the block, default latest block

Parameters​

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<string>

Starknet version


getBlockLatestAccepted()​

getBlockLatestAccepted(): Promise<BlockHashAndNumber>

Defined in: src/channel/rpc_0_9_0.ts:338

Get the most recent accepted block hash and number

Returns​

Promise<BlockHashAndNumber>


getBlockNumber()​

getBlockNumber(): Promise<number>

Defined in: src/channel/rpc_0_9_0.ts:347

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

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/channel/rpc_0_9_0.ts:351

Parameters​

blockIdentifier?​

BlockIdentifier = ...

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


getBlockWithTxs()​

getBlockWithTxs(blockIdentifier?): 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/channel/rpc_0_9_0.ts:356

Parameters​

blockIdentifier?​

BlockIdentifier = ...

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


getBlockWithReceipts()​

getBlockWithReceipts(blockIdentifier?): 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/channel/rpc_0_9_0.ts:361

Parameters​

blockIdentifier?​

BlockIdentifier = ...

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


getBlockStateUpdate()​

getBlockStateUpdate(blockIdentifier?): 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:366

Parameters​

blockIdentifier?​

BlockIdentifier = ...

Returns​

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


getBlockTransactionsTraces()​

getBlockTransactionsTraces(blockIdentifier?): Promise<BlockTransactionsTraces>

Defined in: src/channel/rpc_0_9_0.ts:371

Parameters​

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<BlockTransactionsTraces>


getBlockTransactionCount()​

getBlockTransactionCount(blockIdentifier?): Promise<number>

Defined in: src/channel/rpc_0_9_0.ts:376

Parameters​

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<number>


getTransactionByHash()​

getTransactionByHash(txHash): Promise<TXN_WITH_HASH>

Defined in: src/channel/rpc_0_9_0.ts:381

Parameters​

txHash​

BigNumberish

Returns​

Promise<TXN_WITH_HASH>


getTransactionByBlockIdAndIndex()​

getTransactionByBlockIdAndIndex(blockIdentifier, index): Promise<TXN_WITH_HASH>

Defined in: src/channel/rpc_0_9_0.ts:388

Parameters​

blockIdentifier​

BlockIdentifier

index​

number

Returns​

Promise<TXN_WITH_HASH>


getTransactionReceipt()​

getTransactionReceipt(txHash): Promise<TXN_RECEIPT_WITH_BLOCK_INFO>

Defined in: src/channel/rpc_0_9_0.ts:393

Parameters​

txHash​

BigNumberish

Returns​

Promise<TXN_RECEIPT_WITH_BLOCK_INFO>


getTransactionTrace()​

getTransactionTrace(txHash): Promise<TRANSACTION_TRACE>

Defined in: src/channel/rpc_0_9_0.ts:398

Parameters​

txHash​

BigNumberish

Returns​

Promise<TRANSACTION_TRACE>


getTransactionStatus()​

getTransactionStatus(transactionHash): Promise<TXN_STATUS_RESULT>

Defined in: src/channel/rpc_0_9_0.ts:406

Get the status of a transaction

Parameters​

transactionHash​

BigNumberish

Returns​

Promise<TXN_STATUS_RESULT>


simulateTransaction()​

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

Defined in: src/channel/rpc_0_9_0.ts:418

Parameters​

invocations​

AccountInvocations

AccountInvocations

simulateTransactionOptions?​

getSimulateTransactionOptions = {}

blockIdentifier and flags to skip validation and fee charge

  • blockIdentifier
  • skipValidate (default true)
  • skipFeeCharge (default true)

Returns​

Promise<SimulateTransactionResponse>


waitForTransaction()​

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

Defined in: src/channel/rpc_0_9_0.ts:441

Parameters​

txHash​

BigNumberish

options?​

waitForTransactionOptions

Returns​

Promise<TXN_RECEIPT>


getStorageAt()​

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

Defined in: src/channel/rpc_0_9_0.ts:535

Parameters​

contractAddress​

BigNumberish

key​

BigNumberish

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<string>


getClassHashAt()​

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

Defined in: src/channel/rpc_0_9_0.ts:550

Parameters​

contractAddress​

BigNumberish

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<string>


getClass()​

getClass(classHash, blockIdentifier?): 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:562

Parameters​

classHash​

BigNumberish

blockIdentifier?​

BlockIdentifier = ...

Returns​

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


getClassAt()​

getClassAt(contractAddress, blockIdentifier?): 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:574

Parameters​

contractAddress​

BigNumberish

blockIdentifier?​

BlockIdentifier = ...

Returns​

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


getEstimateFee()​

getEstimateFee(invocations, options?): Promise<FEE_ESTIMATE[]>

Defined in: src/channel/rpc_0_9_0.ts:586

Parameters​

invocations​

AccountInvocations

options?​

getEstimateFeeBulkOptions = {}

Returns​

Promise<FEE_ESTIMATE[]>


invoke()​

invoke(functionInvocation, details): Promise<InvokedTransaction>

Defined in: src/channel/rpc_0_9_0.ts:608

Parameters​

functionInvocation​

Invocation

details​

InvocationsDetailsWithNonce

Returns​

Promise<InvokedTransaction>


invokeSignedTx()​

invokeSignedTx(transaction): Promise<InvokedTransaction>

Defined in: src/channel/rpc_0_9_0.ts:625

Parameters​

transaction​

INVOKE_TXN_V3

Returns​

Promise<InvokedTransaction>


declare()​

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

Defined in: src/channel/rpc_0_9_0.ts:632

Parameters​

declareTransaction​

DeclareContractTransaction

details​

InvocationsDetailsWithNonce

Returns​

Promise<TXN_RECEIPT | DeclaredTransaction>


deployAccount()​

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

Defined in: src/channel/rpc_0_9_0.ts:652

Parameters​

deployAccountTransaction​

DeployAccountContractTransaction

details​

InvocationsDetailsWithNonce

Returns​

Promise<TXN_RECEIPT | DeployedAccountTransaction>


callContract()​

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

Defined in: src/channel/rpc_0_9_0.ts:672

Parameters​

call​

Call

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<string[]>


estimateMessageFee()​

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

Defined in: src/channel/rpc_0_9_0.ts:688

NEW: Estimate the fee for a message from L1

Parameters​

message​

MSG_FROM_L1

Message From L1

blockIdentifier?​

BlockIdentifier = ...

Returns​

Promise<MESSAGE_FEE_ESTIMATE>


getSyncingStats()​

getSyncingStats(): Promise<Syncing>

Defined in: src/channel/rpc_0_9_0.ts:711

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

Returns​

Promise<Syncing>

Object with the stats data


getEvents()​

getEvents(eventFilter): Promise<EVENTS_CHUNK>

Defined in: src/channel/rpc_0_9_0.ts:719

Returns all events matching the given filter

Parameters​

eventFilter​

EventFilter

Returns​

Promise<EVENTS_CHUNK>

events and the pagination of the events


buildTransaction()​

buildTransaction<T>(invocation, versionType?): Promise<T extends object ? INVOKE_TXN_V3 : T extends object ? BROADCASTED_DECLARE_TXN_V3 : T extends object ? DEPLOY_ACCOUNT_TXN_V3 : never>

Defined in: src/channel/rpc_0_9_0.ts:724

Type Parameters​

T​

T extends AccountInvocationItem

Parameters​

invocation​

T

versionType?​

"fee" | "transaction"

Returns​

Promise<T extends object ? INVOKE_TXN_V3 : T extends object ? BROADCASTED_DECLARE_TXN_V3 : T extends object ? DEPLOY_ACCOUNT_TXN_V3 : never>