Skip to main content
Version: 5.24.3

Class: SequencerProvider

Deprecated

Feeder gateway will be removed during November 2023, as Network is switching to P2P Nodes. Use RPC Provider or Default provider (Default provider will be RPC Provider with public nodes and legacy interface/response)

Implements​

Constructors​

constructor​

• new SequencerProvider(optionsOrProvider?)

Parameters​

NameTypeDefault value
optionsOrProviderSequencerProviderOptionsdefaultOptions

Defined in​

src/provider/sequencer.ts:97

Properties​

baseUrl​

• baseUrl: string

Defined in​

src/provider/sequencer.ts:83


feederGatewayUrl​

• feederGatewayUrl: string

Defined in​

src/provider/sequencer.ts:85


gatewayUrl​

• gatewayUrl: string

Defined in​

src/provider/sequencer.ts:87


headers​

• Optional headers: Record<string, string>

Defined in​

src/provider/sequencer.ts:89


blockIdentifier​

• Private blockIdentifier: BlockIdentifier

Defined in​

src/provider/sequencer.ts:91


chainId​

• Private chainId: StarknetChainId

Defined in​

src/provider/sequencer.ts:93


responseParser​

• Private responseParser: SequencerAPIResponseParser

Defined in​

src/provider/sequencer.ts:95

Methods​

getNetworkFromName​

â–¸ Static Protected getNetworkFromName(name): BaseUrl

Parameters​

NameType
nameStarknetChainId | NetworkName

Returns​

BaseUrl

Defined in​

src/provider/sequencer.ts:117


getChainIdFromBaseUrl​

â–¸ Static Protected getChainIdFromBaseUrl(baseUrl): StarknetChainId

Parameters​

NameType
baseUrlstring

Returns​

StarknetChainId

Defined in​

src/provider/sequencer.ts:130


getFetchUrl​

â–¸ Private getFetchUrl(endpoint): string

Parameters​

NameType
endpointkeyof Endpoints

Returns​

string

Defined in​

src/provider/sequencer.ts:144


getFetchMethod​

â–¸ Private getFetchMethod(endpoint): "POST" | "GET"

Parameters​

NameType
endpointkeyof Endpoints

Returns​

"POST" | "GET"

Defined in​

src/provider/sequencer.ts:149


getQueryString​

â–¸ Private getQueryString(query?): string

Parameters​

NameType
query?Record<string, any>

Returns​

string

Defined in​

src/provider/sequencer.ts:162


getHeaders​

â–¸ Private getHeaders(method): undefined | Record<string, string>

Parameters​

NameType
methodSequencerHttpMethod

Returns​

undefined | Record<string, string>

Defined in​

src/provider/sequencer.ts:179


fetchEndpoint​

▸ Protected fetchEndpoint<T>(endpoint, ...«destructured»): Promise<Endpoints[T][``"RESPONSE"``]>

Type parameters​

NameType
Textends keyof Endpoints

Parameters​

NameType
endpointT
...«destructured»Endpoints[T][``"QUERY"``] extends never ? Endpoints[T][``"REQUEST"``] extends never ? [] : [undefined, Endpoints[T][``"REQUEST"``]] : Endpoints[T][``"REQUEST"``] extends never ? [Endpoints[T][``"QUERY"``]] : [Endpoints[T][``"QUERY"``], Endpoints[T][``"REQUEST"``]]

Returns​

Promise<Endpoints[T][``"RESPONSE"``]>

Defined in​

src/provider/sequencer.ts:190


fetch​

â–¸ fetch(endpoint, options?): Promise<any>

Parameters​

NameType
endpointstring
options?Object
options.method?SequencerHttpMethod
options.body?any
options.parseAlwaysAsBigInt?boolean

Returns​

Promise<any>

Defined in​

src/provider/sequencer.ts:212


getChainId​

â–¸ getChainId(): Promise<StarknetChainId>

Gets the Starknet chain Id

Returns​

Promise<StarknetChainId>

the chain Id

Implementation of​

ProviderInterface.getChainId

Defined in​

src/provider/sequencer.ts:253


callContract​

▸ callContract(«destructured», blockIdentifier?): Promise<CallContractResponse>

Calls a function on the Starknet contract.

Parameters​

NameTypeDescription
«destructured»Calltransaction to be called
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<CallContractResponse>

the result of the function on the smart contract.

Implementation of​

ProviderInterface.callContract

Defined in​

src/provider/sequencer.ts:257


getBlock​

â–¸ getBlock(blockIdentifier?): Promise<GetBlockResponse>

Gets the block information

Parameters​

NameTypeDescription
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<GetBlockResponse>

the block object

Implementation of​

ProviderInterface.getBlock

Defined in​

src/provider/sequencer.ts:275


getNonceForAddress​

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

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

Parameters​

NameTypeDescription
contractAddressstringcontract address
blockIdentifierBlockIdentifier-

Returns​

Promise<string>

the hex nonce

Implementation of​

ProviderInterface.getNonceForAddress

Defined in​

src/provider/sequencer.ts:283


getStorageAt​

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

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

Parameters​

NameTypeDescription
contractAddressstring
keyBigNumberishfrom getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<string>

the value of the storage variable

Implementation of​

ProviderInterface.getStorageAt

Defined in​

src/provider/sequencer.ts:290


getTransaction​

â–¸ getTransaction(txHash): Promise<GetTransactionResponse>

Gets the transaction information from a tx id.

Parameters​

NameType
txHashBigNumberish

Returns​

Promise<GetTransactionResponse>

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

Implementation of​

ProviderInterface.getTransaction

Defined in​

src/provider/sequencer.ts:303


getTransactionReceipt​

â–¸ getTransactionReceipt(txHash): Promise<GetTransactionReceiptResponse>

Gets the transaction receipt from a tx hash.

Parameters​

NameType
txHashBigNumberish

Returns​

Promise<GetTransactionReceiptResponse>

the transaction receipt object

Implementation of​

ProviderInterface.getTransactionReceipt

Defined in​

src/provider/sequencer.ts:312


getClassAt​

â–¸ getClassAt(contractAddress, blockIdentifier?): Promise<ContractClassResponse>

Gets the contract class of the deployed contract.

Parameters​

NameTypeDescription
contractAddressstringcontract address
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<ContractClassResponse>

Contract class of compiled contract

Implementation of​

ProviderInterface.getClassAt

Defined in​

src/provider/sequencer.ts:319


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
contractAddressstringcontract address
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<string>

Class hash

Implementation of​

ProviderInterface.getClassHashAt

Defined in​

src/provider/sequencer.ts:328


getClassByHash​

â–¸ getClassByHash(classHash, blockIdentifier?): Promise<ContractClassResponse>

Returns the contract class deployed under the given class hash.

Parameters​

NameTypeDescription
classHashstringclass hash
blockIdentifierBlockIdentifier-

Returns​

Promise<ContractClassResponse>

Contract class of compiled contract

Implementation of​

ProviderInterface.getClassByHash

Defined in​

src/provider/sequencer.ts:335


getCompiledClassByClassHash​

â–¸ getCompiledClassByClassHash(classHash, blockIdentifier?): Promise<CairoAssembly>

Parameters​

NameType
classHashstring
blockIdentifierBlockIdentifier

Returns​

Promise<CairoAssembly>

Defined in​

src/provider/sequencer.ts:344


getContractVersion​

â–¸ getContractVersion(contractAddress, classHash?, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

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

Returns​

Promise<ContractVersion>

Implementation of​

ProviderInterface.getContractVersion

Defined in​

src/provider/sequencer.ts:351

â–¸ getContractVersion(contractAddress, classHash, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

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

Returns​

Promise<ContractVersion>

Implementation of​

ProviderInterface.getContractVersion

Defined in​

src/provider/sequencer.ts:356


invokeFunction​

â–¸ invokeFunction(functionInvocation, details): Promise<InvokeFunctionResponse>

Invokes a function on starknet

Deprecated

This method won't be supported as soon as fees are mandatory. Should not be used outside of Account class

Parameters​

NameTypeDescription
functionInvocationInvocationthe invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - optional nonce - version - optional version - maxFee - optional maxFee

Returns​

Promise<InvokeFunctionResponse>

response from addTransaction

Implementation of​

ProviderInterface.invokeFunction

Defined in​

src/provider/sequencer.ts:386


deployAccountContract​

▸ deployAccountContract(«destructured», details): Promise<DeployContractResponse>

Deploys a given compiled Account contract (json) to starknet

Parameters​

NameTypeDescription
«destructured»DeployAccountContractTransactionpayload 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

Implementation of​

ProviderInterface.deployAccountContract

Defined in​

src/provider/sequencer.ts:401


declareContract​

▸ declareContract(«destructured», details): Promise<DeclareContractResponse>

Declares a given compiled contract (json) to starknet

Parameters​

NameTypeDescription
«destructured»DeclareContractTransactiontransaction payload to be deployed containing: - compiled contract code - sender address - signature
detailsInvocationsDetailsWithNonceInvocation Details containing: - nonce - optional version - optional maxFee

Returns​

Promise<DeclareContractResponse>

a confirmation of sending a transaction on the starknet contract

Implementation of​

ProviderInterface.declareContract

Defined in​

src/provider/sequencer.ts:417


getEstimateFee​

â–¸ getEstimateFee(invocation, invocationDetails, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given INVOKE transaction

Deprecated

Please use getInvokeEstimateFee or getDeclareEstimateFee instead. Should not be used outside of Account class

Parameters​

NameTypeDefault valueDescription
invocationInvocationundefinedthe invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature
invocationDetailsInvocationsDetailsWithNonceundefinedoptional details containing: - nonce - optional nonce - version - optional version
blockIdentifierBlockIdentifierundefined(optional) block identifier
skipValidatebooleanfalse(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

ProviderInterface.getEstimateFee

Defined in​

src/provider/sequencer.ts:445


getInvokeEstimateFee​

â–¸ getInvokeEstimateFee(invocation, invocationDetails, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given INVOKE transaction

Parameters​

NameTypeDefault valueDescription
invocationInvocationundefinedthe invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature
invocationDetailsInvocationsDetailsWithNonceundefinedoptional details containing: - nonce - optional nonce - version - optional version
blockIdentifierBlockIdentifierundefined(optional) block identifier
skipValidatebooleanfalse(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

ProviderInterface.getInvokeEstimateFee

Defined in​

src/provider/sequencer.ts:454


getDeclareEstimateFee​

â–¸ getDeclareEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given DECLARE transaction

Parameters​

NameTypeDefault valueDescription
invocationDeclareContractTransactionundefinedtransaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceundefinedoptional details containing: - nonce - version - optional version - optional maxFee
blockIdentifierBlockIdentifierundefined(optional) block identifier
skipValidatebooleanfalse(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

ProviderInterface.getDeclareEstimateFee

Defined in​

src/provider/sequencer.ts:473


getDeployAccountEstimateFee​

â–¸ getDeployAccountEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given DEPLOY_ACCOUNT transaction

Parameters​

NameTypeDefault valueDescription
invocationDeployAccountContractTransactionundefinedtransaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceundefinedoptional details containing: - nonce - version - optional version - optional maxFee
blockIdentifierBlockIdentifierundefined(optional) block identifier
skipValidatebooleanfalse(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

ProviderInterface.getDeployAccountEstimateFee

Defined in​

src/provider/sequencer.ts:492


getEstimateFeeBulk​

▸ getEstimateFeeBulk(invocations, «destructured»): Promise<EstimateFeeResponseBulk>

Estimates the fee for a list of INVOKE transaction

Parameters​

NameTypeDescription
invocationsAccountInvocationsAccountInvocations - Complete invocations array with account details
«destructured»getEstimateFeeBulkOptionsgetEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier - (optional) skipValidate - boolean (default false)

Returns​

Promise<EstimateFeeResponseBulk>

the estimated fee

Implementation of​

ProviderInterface.getEstimateFeeBulk

Defined in​

src/provider/sequencer.ts:511


getCode​

â–¸ getCode(contractAddress, blockIdentifier?): Promise<GetCodeResponse>

Deprecated

The method should not be used

Parameters​

NameType
contractAddressstring
blockIdentifierBlockIdentifier

Returns​

Promise<GetCodeResponse>

Implementation of​

ProviderInterface.getCode

Defined in​

src/provider/sequencer.ts:523


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

Implementation of​

ProviderInterface.waitForTransaction

Defined in​

src/provider/sequencer.ts:530


getTransactionStatus​

â–¸ getTransactionStatus(txHash): Promise<GetTransactionStatusResponse>

Gets the status of a transaction.

Parameters​

NameTypeDescription
txHashBigNumberishBigNumberish

Returns​

Promise<GetTransactionStatusResponse>

GetTransactionStatusResponse - the transaction status object

Defined in​

src/provider/sequencer.ts:585


getContractAddresses​

â–¸ getContractAddresses(): Promise<GetContractAddressesResponse>

Gets the smart contract address on the goerli testnet.

Returns​

Promise<GetContractAddressesResponse>

GetContractAddressesResponse - starknet smart contract addresses

Defined in​

src/provider/sequencer.ts:594


getTransactionTrace​

â–¸ getTransactionTrace(txHash): Promise<TransactionTraceResponse>

Gets the transaction trace from a tx id.

Parameters​

NameTypeDescription
txHashBigNumberishBigNumberish

Returns​

Promise<TransactionTraceResponse>

TransactionTraceResponse - the transaction trace

Defined in​

src/provider/sequencer.ts:603


estimateMessageFee​

▸ estimateMessageFee(«destructured», blockIdentifier?): Promise<EstimateFeeResponse>

Parameters​

NameType
«destructured»CallL1Handler
blockIdentifierBlockIdentifier

Returns​

Promise<EstimateFeeResponse>

Defined in​

src/provider/sequencer.ts:610


getSimulateTransaction​

▸ getSimulateTransaction(invocations, «destructured»): Promise<SimulateTransactionResponse>

Simulate transaction using Sequencer provider WARNING!: Sequencer will process only first element from invocations array

Parameters​

NameTypeDescription
invocationsAccountInvocationsArray of invocations, but only first invocation will be processed
«destructured»getSimulateTransactionOptions-

Returns​

Promise<SimulateTransactionResponse>

Implementation of​

ProviderInterface.getSimulateTransaction

Defined in​

src/provider/sequencer.ts:633


getStateUpdate​

â–¸ getStateUpdate(blockIdentifier?): Promise<StateUpdateResponse>

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

Parameters​

NameTypeDescription
blockIdentifierBlockIdentifierblock identifier

Returns​

Promise<StateUpdateResponse>

StateUpdateResponse

Implementation of​

ProviderInterface.getStateUpdate

Defined in​

src/provider/sequencer.ts:660


getBlockTraces​

â–¸ getBlockTraces(blockIdentifier?): Promise<BlockTransactionTracesResponse>

Parameters​

NameType
blockIdentifierBlockIdentifier

Returns​

Promise<BlockTransactionTracesResponse>

Defined in​

src/provider/sequencer.ts:670


getStarkName​

â–¸ getStarkName(address, StarknetIdContract?): Promise<string>

Parameters​

NameType
addressBigNumberish
StarknetIdContract?string

Returns​

Promise<string>

Defined in​

src/provider/sequencer.ts:677


getAddressFromStarkName​

â–¸ getAddressFromStarkName(name, StarknetIdContract?): Promise<string>

Parameters​

NameType
namestring
StarknetIdContract?string

Returns​

Promise<string>

Defined in​

src/provider/sequencer.ts:681


buildTransaction​

â–¸ buildTransaction(invocation, versionType?): AccountTransactionItem

Build Single AccountTransaction from Single AccountInvocation

Parameters​

NameTypeDescription
invocationAccountInvocationItemAccountInvocationItem
versionType?"fee" | "transaction"'fee' | 'transaction' - used to determine default versions

Returns​

AccountTransactionItem

AccountTransactionItem

Defined in​

src/provider/sequencer.ts:691