Skip to main content
Version: Next

Class: Account

Hierarchy​

Implements​

Constructors​

constructor​

β€’ new Account(providerOrOptions, address, pkOrSigner, cairoVersion?, transactionVersion?): Account

Parameters​

NameTypeDefault value
providerOrOptionsProviderOptions | ProviderInterfaceundefined
addressstringundefined
pkOrSignerstring | Uint8Array | SignerInterfaceundefined
cairoVersion?CairoVersionundefined
transactionVersionV2 | V3ETransactionVersion.V2

Returns​

Account

Overrides​

Provider.constructor

Defined in​

src/account/default.ts:70

Properties​

signer​

β€’ signer: SignerInterface

Implementation of​

AccountInterface.signer

Defined in​

src/account/default.ts:62


address​

β€’ address: string

Implementation of​

AccountInterface.address

Defined in​

src/account/default.ts:64


cairoVersion​

β€’ cairoVersion: CairoVersion

Implementation of​

AccountInterface.cairoVersion

Defined in​

src/account/default.ts:66


transactionVersion​

β€’ Readonly transactionVersion: V2 | V3

Defined in​

src/account/default.ts:68


deploySelf​

β€’ deploySelf: (__namedParameters: DeployAccountContractPayload, details: UniversalDetails) => Promise<DeployContractResponse>

Type declaration​

β–Έ (Β«destructuredΒ», details?): Promise<DeployContractResponse>

Parameters​
NameType
Β«destructuredΒ»DeployAccountContractPayload
detailsUniversalDetails
Returns​

Promise<DeployContractResponse>

Defined in​

src/account/default.ts:472


channel​

β€’ channel: RpcChannel | RpcChannel

Implementation of​

AccountInterface.channel

Inherited from​

Provider.channel

Defined in​

src/provider/rpc.ts:38


getStateUpdate​

β€’ getStateUpdate: () => Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>(blockIdentifier: "pending") => Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>(blockIdentifier: "latest") => Promise<{ block_hash: string ; old_root: string ; new_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>(blockIdentifier?: BlockIdentifier) => Promise<StateUpdateResponse>

Type declaration​

β–Έ (): Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Returns​

Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

β–Έ (blockIdentifier): Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Parameters​
NameType
blockIdentifier"pending"
Returns​

Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

β–Έ (blockIdentifier): Promise<{ block_hash: string ; old_root: string ; new_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Parameters​
NameType
blockIdentifier"latest"
Returns​

Promise<{ block_hash: string ; old_root: string ; new_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

β–Έ (blockIdentifier?): Promise<StateUpdateResponse>

Parameters​
NameType
blockIdentifier?BlockIdentifier
Returns​

Promise<StateUpdateResponse>

Implementation of​

AccountInterface.getStateUpdate

Inherited from​

Provider.getStateUpdate

Defined in​

src/provider/rpc.ts:110

Methods​

getStarkName​

β–Έ getStarkName(provider, address, StarknetIdContract?): Promise<string>

Parameters​

NameType
providerProviderInterface
addressBigNumberish
StarknetIdContract?string

Returns​

Promise<string>

Inherited from​

Provider.getStarkName

Defined in​

src/provider/extensions/starknetId.ts:61


getAddressFromStarkName​

β–Έ getAddressFromStarkName(provider, name, StarknetIdContract?): Promise<string>

Parameters​

NameType
providerProviderInterface
namestring
StarknetIdContract?string

Returns​

Promise<string>

Inherited from​

Provider.getAddressFromStarkName

Defined in​

src/provider/extensions/starknetId.ts:94


getStarkProfile​

β–Έ getStarkProfile(provider, address, StarknetIdContract?, StarknetIdIdentityContract?, StarknetIdVerifierContract?, StarknetIdPfpContract?, StarknetIdPopContract?, StarknetIdMulticallContract?): Promise<StarkProfile>

Parameters​

NameType
providerProviderInterface
addressBigNumberish
StarknetIdContract?string
StarknetIdIdentityContract?string
StarknetIdVerifierContract?string
StarknetIdPfpContract?string
StarknetIdPopContract?string
StarknetIdMulticallContract?string

Returns​

Promise<StarkProfile>

Inherited from​

Provider.getStarkProfile

Defined in​

src/provider/extensions/starknetId.ts:120


getPreferredVersion​

β–Έ getPreferredVersion(type12, type3): ETransactionVersion

Parameters​

NameType
type12ETransactionVersion
type3ETransactionVersion

Returns​

ETransactionVersion

Defined in​

src/account/default.ts:91


getNonce​

β–Έ getNonce(blockIdentifier?): Promise<string>

Gets the nonce of the account with respect to a specific block

Parameters​

NameTypeDescription
blockIdentifier?BlockIdentifieroptional blockIdentifier. Defaults to 'pending'

Returns​

Promise<string>

nonce of the account

Implementation of​

AccountInterface.getNonce

Defined in​

src/account/default.ts:98


getNonceSafe​

β–Έ getNonceSafe(nonce?): Promise<bigint>

Parameters​

NameType
nonce?BigNumberish

Returns​

Promise<bigint>

Defined in​

src/account/default.ts:102


getCairoVersion​

β–Έ getCairoVersion(classHash?): Promise<CairoVersion>

Retrieves the Cairo version from the network and sets cairoVersion if not already set in the constructor

Parameters​

NameTypeDescription
classHash?stringif provided detects Cairo version from classHash, otherwise from the account address

Returns​

Promise<CairoVersion>

Defined in​

src/account/default.ts:115


estimateFee​

β–Έ estimateFee(calls, estimateFeeDetails?): Promise<EstimateFee>

Parameters​

NameType
callsAllowArray<Call>
estimateFeeDetailsUniversalDetails

Returns​

Promise<EstimateFee>

Defined in​

src/account/default.ts:125


estimateInvokeFee​

β–Έ estimateInvokeFee(calls, details?): Promise<EstimateFee>

Estimate Fee for executing an INVOKE transaction on starknet

Parameters​

NameTypeDescription
callsAllowArray<Call>the invocation object containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata? - (defaults to []) the calldata
detailsUniversalDetailsblockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei

Returns​

Promise<EstimateFee>

response from estimate_fee

Implementation of​

AccountInterface.estimateInvokeFee

Defined in​

src/account/default.ts:132


estimateDeclareFee​

β–Έ estimateDeclareFee(payload, details?): Promise<EstimateFee>

Estimate Fee for executing a DECLARE transaction on starknet

Parameters​

NameTypeDescription
payloadDeclareContractPayloadthe payload object containing: - contract - the compiled contract to be declared - casm? - compiled cairo assembly. Cairo1(casm or compiledClassHash are required) - classHash? - the class hash of the compiled contract. Precalculate for faster execution. - compiledClassHash?: class hash of the cairo assembly. Cairo1(casm or compiledClassHash are required)
detailsUniversalDetailsblockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei

Returns​

Promise<EstimateFee>

response from estimate_fee

Implementation of​

AccountInterface.estimateDeclareFee

Defined in​

src/account/default.ts:171


estimateAccountDeployFee​

β–Έ estimateAccountDeployFee(Β«destructuredΒ», details?): Promise<EstimateFee>

Estimate Fee for executing a DEPLOY_ACCOUNT transaction on starknet

Parameters​

NameTypeDescription
Β«destructuredΒ»DeployAccountContractPayloadclassHash - the class hash of the compiled contract. - constructorCalldata? - constructor data; - contractAddress? - future account contract address. Precalculate for faster execution. - addressSalt? - salt used for calculation of the contractAddress. Required if contractAddress is provided.
detailsUniversalDetailsblockIdentifier? - nonce? = 0 - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei

Returns​

Promise<EstimateFee>

response from estimate_fee

Implementation of​

AccountInterface.estimateAccountDeployFee

Defined in​

src/account/default.ts:209


estimateDeployFee​

β–Έ estimateDeployFee(payload, details?): Promise<EstimateFee>

Estimate Fee for executing a UDC DEPLOY transaction on starknet This is different from the normal DEPLOY transaction as it goes through the Universal Deployer Contract (UDC)

Parameters​

NameTypeDescription
payloadUniversalDeployerContractPayload | UniversalDeployerContractPayload[]array or singular - classHash: computed class hash of compiled contract - salt: address salt - unique: bool if true ensure unique salt - constructorCalldata: constructor calldata
detailsUniversalDetailsblockIdentifier? - nonce? - skipValidate? - default true - tip? - prioritize order of transactions in the mempool. - accountDeploymentData? - deploy an account contract (substitution for deploy account transaction) - paymasterData? - entity other than the transaction sender to pay the transaction fees(EIP-4337) - nonceDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - feeDataAvailabilityMode? - allows users to choose their preferred data availability mode (Volition) - version? - specify ETransactionVersion - V3 Transactions fee is in fri, oldV transactions fee is in wei

Returns​

Promise<EstimateFee>

Implementation of​

AccountInterface.estimateDeployFee

Defined in​

src/account/default.ts:248


estimateFeeBulk​

β–Έ estimateFeeBulk(invocations, details?): Promise<EstimateFeeBulk>

Estimate Fee for executing a list of transactions on starknet Contract must be deployed for fee estimation to be possible

Parameters​

NameType
invocationsInvocations
detailsUniversalDetails

Returns​

Promise<EstimateFeeBulk>

response from estimate_fee

Implementation of​

AccountInterface.estimateFeeBulk

Defined in​

src/account/default.ts:256


simulateTransaction​

β–Έ simulateTransaction(invocations, details?): Promise<SimulateTransactionResponse>

Simulates an array of transaction and returns an array of transaction trace and estimated fee.

Parameters​

NameTypeDescription
invocationsInvocationsInvocations containing: - type - transaction type: DECLARE, (multi)DEPLOY, DEPLOY_ACCOUNT, (multi)INVOKE_FUNCTION
detailsSimulateTransactionDetailsSimulateTransactionDetails

Returns​

Promise<SimulateTransactionResponse>

response from simulate_transaction

Implementation of​

AccountInterface.simulateTransaction

Defined in​

src/account/default.ts:281


execute​

β–Έ execute(transactions, transactionsDetail?): Promise<{ transaction_hash: string }>

Invoke execute function in account contract

Parameters​

NameTypeDescription
transactionsAllowArray<Call>the invocation object or an array of them, containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature
transactionsDetail?UniversalDetailsAdditional optional parameters for the transaction

Returns​

Promise<{ transaction_hash: string }>

response from addTransaction

Implementation of​

AccountInterface.execute

Defined in​

src/account/default.ts:307

β–Έ execute(transactions, abis?, transactionsDetail?): Promise<{ transaction_hash: string }>

Parameters​

NameTypeDescription
transactionsAllowArray<Call>the invocation object or an array of them, containing: - contractAddress - the address of the contract - entrypoint - the entrypoint of the contract - calldata - (defaults to []) the calldata - signature - (defaults to []) the signature
abis?Abi[](optional) the abi of the contract for better displaying
transactionsDetail?UniversalDetailsAdditional optional parameters for the transaction *

Returns​

Promise<{ transaction_hash: string }>

response from addTransaction

Deprecated

Implementation of​

AccountInterface.execute

Defined in​

src/account/default.ts:311


declareIfNot​

β–Έ declareIfNot(payload, transactionsDetail?): Promise<{ class_hash: string ; transaction_hash: string }>

First check if contract is already declared, if not declare it If contract already declared returned transaction_hash is ''. Method will pass even if contract is already declared

Parameters​

NameTypeDescription
payloadDeclareContractPayload-
transactionsDetailUniversalDetails(optional)

Returns​

Promise<{ class_hash: string ; transaction_hash: string }>

Defined in​

src/account/default.ts:373


declare​

β–Έ declare(payload, details?): Promise<{ class_hash: string ; transaction_hash: string }>

Declares a given compiled contract (json) to starknet

Parameters​

NameTypeDescription
payloadDeclareContractPayloadtransaction payload to be deployed containing: - contract: compiled contract code - (optional) classHash: computed class hash of compiled contract. Pre-compute it for faster execution. - (required for Cairo1 without compiledClassHash) casm: CompiledContract | string; - (optional for Cairo1 with casm) compiledClassHash: compiled class hash from casm. Pre-compute it for faster execution.
detailsUniversalDetailsInvocationsDetails

Returns​

Promise<{ class_hash: string ; transaction_hash: string }>

a confirmation of sending a transaction on the starknet contract

Implementation of​

AccountInterface.declare

Defined in​

src/account/default.ts:389


deploy​

β–Έ deploy(payload, details?): Promise<MultiDeployContractResponse>

Deploys a declared contract to starknet - using Universal Deployer Contract (UDC) support multicall

Parameters​

NameTypeDescription
payloadUniversalDeployerContractPayload | UniversalDeployerContractPayload[]classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt
detailsUniversalDetailsInvocationsDetails

Returns​

Promise<MultiDeployContractResponse>

  • contract_address[]
  • transaction_hash

Implementation of​

AccountInterface.deploy

Defined in​

src/account/default.ts:433


deployContract​

β–Έ deployContract(payload, details?): Promise<DeployContractUDCResponse>

Simplify deploy simulating old DeployContract with same response + UDC specific response Internal wait for L2 transaction, support multicall

Parameters​

NameTypeDescription
payloadUniversalDeployerContractPayload | UniversalDeployerContractPayload[]classHash: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt
detailsUniversalDetailsInvocationsDetails

Returns​

Promise<DeployContractUDCResponse>

  • contract_address
  • transaction_hash
  • address
  • deployer
  • unique
  • classHash
  • calldata_len
  • calldata
  • salt

Implementation of​

AccountInterface.deployContract

Defined in​

src/account/default.ts:446


declareAndDeploy​

β–Έ declareAndDeploy(payload, details?): Promise<DeclareDeployUDCResponse>

Declares and Deploy a given compiled contract (json) to starknet using UDC Internal wait for L2 transaction, do not support multicall Method will pass even if contract is already declared (internal using DeclareIfNot)

Parameters​

NameTypeDescription
payloadDeclareAndDeployContractPayloadcontract: compiled contract code - [casm=cairo1]: CairoAssembly | undefined; - [compiledClassHash]: string | undefined; - [classHash]: computed class hash of compiled contract - [constructorCalldata] contract constructor calldata - [salt=pseudorandom] deploy address salt - [unique=true] ensure unique salt
detailsUniversalDetailsInvocationsDetails

Returns​

Promise<DeclareDeployUDCResponse>

  • declare
    • transaction_hash
  • deploy
    • contract_address
    • transaction_hash
    • address
    • deployer
    • unique
    • classHash
    • calldata_len
    • calldata
    • salt

Implementation of​

AccountInterface.declareAndDeploy

Defined in​

src/account/default.ts:455


deployAccount​

β–Έ deployAccount(Β«destructuredΒ», details?): Promise<DeployContractResponse>

Deploy the account on Starknet

Parameters​

NameTypeDescription
Β«destructuredΒ»DeployAccountContractPayloadtransaction payload to be deployed containing: - classHash: computed class hash of compiled contract - optional constructor calldata - optional address salt - optional contractAddress
detailsUniversalDetailsInvocationsDetails

Returns​

Promise<DeployContractResponse>

a confirmation of sending a transaction on the starknet contract

Implementation of​

AccountInterface.deployAccount

Defined in​

src/account/default.ts:474


signMessage​

β–Έ signMessage(typedData): Promise<Signature>

Signs a JSON object for off-chain usage with the Starknet private key and returns the signature This adds a message prefix so it can't be interchanged with transactions

Parameters​

NameType
typedDataTypedData

Returns​

Promise<Signature>

the signature of the JSON object

Throws

if the JSON object is not a valid JSON

Implementation of​

AccountInterface.signMessage

Defined in​

src/account/default.ts:534


hashMessage​

β–Έ hashMessage(typedData): Promise<string>

Hash a JSON object with Pedersen hash and return the hash This adds a message prefix so it can't be interchanged with transactions

Parameters​

NameType
typedDataTypedData

Returns​

Promise<string>

the hash of the JSON object

Throws

if the JSON object is not a valid JSON

Implementation of​

AccountInterface.hashMessage

Defined in​

src/account/default.ts:538


verifyMessageHash​

β–Έ verifyMessageHash(hash, signature): Promise<boolean>

Verify a signature of a given hash

Parameters​

NameTypeDescription
hashBigNumberishhash to be verified
signatureSignaturesignature of the hash

Returns​

Promise<boolean>

true if the signature is valid, false otherwise

Warning

This method is not recommended, use verifyMessage instead

Throws

if the signature is not a valid signature

Implementation of​

AccountInterface.verifyMessageHash

Defined in​

src/account/default.ts:542


verifyMessage​

β–Έ verifyMessage(typedData, signature): Promise<boolean>

Verify a signature of a JSON object

Parameters​

NameTypeDescription
typedDataTypedDataJSON object to be verified
signatureSignaturesignature of the JSON object

Returns​

Promise<boolean>

true if the signature is valid, false otherwise

Throws

if the JSON object is not a valid JSON or the signature is not a valid signature

Implementation of​

AccountInterface.verifyMessage

Defined in​

src/account/default.ts:571


getUniversalSuggestedFee​

β–Έ getUniversalSuggestedFee(version, Β«destructuredΒ», details): Promise<{ maxFee: BigNumberish ; resourceBounds: RESOURCE_BOUNDS_MAPPING }>

Parameters​

NameType
versionETransactionVersion
Β«destructuredΒ»EstimateFeeAction
detailsUniversalDetails

Returns​

Promise<{ maxFee: BigNumberish ; resourceBounds: RESOURCE_BOUNDS_MAPPING }>

Defined in​

src/account/default.ts:580


getSuggestedFee​

β–Έ getSuggestedFee(Β«destructuredΒ», details): Promise<EstimateFee>

Gets Suggested Max Fee based on the transaction type

Parameters​

NameType
Β«destructuredΒ»EstimateFeeAction
detailsUniversalDetails

Returns​

Promise<EstimateFee>

EstimateFee (...response, resourceBounds, suggestedMaxFee)

Implementation of​

AccountInterface.getSuggestedFee

Defined in​

src/account/default.ts:603


buildInvocation​

β–Έ buildInvocation(call, details): Promise<Invocation>

Parameters​

NameType
callCall[]
detailsInvocationsSignerDetails

Returns​

Promise<Invocation>

Defined in​

src/account/default.ts:640


buildDeclarePayload​

β–Έ buildDeclarePayload(payload, details): Promise<DeclareContractTransaction>

Parameters​

NameType
payloadDeclareContractPayload
detailsInvocationsSignerDetails

Returns​

Promise<DeclareContractTransaction>

Defined in​

src/account/default.ts:655


buildAccountDeployPayload​

β–Έ buildAccountDeployPayload(Β«destructuredΒ», details): Promise<DeployAccountContractTransaction>

Parameters​

NameType
Β«destructuredΒ»DeployAccountContractPayload
detailsInvocationsSignerDetails

Returns​

Promise<DeployAccountContractTransaction>

Defined in​

src/account/default.ts:687


buildUDCContractPayload​

β–Έ buildUDCContractPayload(payload): Call[]

Parameters​

NameType
payloadUniversalDeployerContractPayload | UniversalDeployerContractPayload[]

Returns​

Call[]

Defined in​

src/account/default.ts:721


accountInvocationsFactory​

β–Έ accountInvocationsFactory(invocations, details): Promise<AccountInvocations>

Parameters​

NameType
invocationsInvocations
detailsAccountInvocationsFactoryDetails

Returns​

Promise<AccountInvocations>

Defined in​

src/account/default.ts:748


getStarkName​

β–Έ getStarkName(address?, StarknetIdContract?): Promise<string>

Parameters​

NameType
addressBigNumberish
StarknetIdContract?string

Returns​

Promise<string>

Overrides​

Provider.getStarkName

Defined in​

src/account/default.ts:842


fetch​

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

Parameters​

NameTypeDefault value
methodstringundefined
params?objectundefined
idstring | number0

Returns​

Promise<Response>

Inherited from​

Provider.fetch

Defined in​

src/provider/rpc.ts:50


getChainId​

β–Έ getChainId(): Promise<StarknetChainId>

Gets the Starknet chain Id

Returns​

Promise<StarknetChainId>

the chain Id

Implementation of​

AccountInterface.getChainId

Inherited from​

Provider.getChainId

Defined in​

src/provider/rpc.ts:54


getSpecVersion​

β–Έ getSpecVersion(): Promise<string>

Returns​

Promise<string>

Inherited from​

Provider.getSpecVersion

Defined in​

src/provider/rpc.ts:58


getNonceForAddress​

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

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

Parameters​

NameTypeDescription
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifier-

Returns​

Promise<string>

the hex nonce

Implementation of​

AccountInterface.getNonceForAddress

Inherited from​

Provider.getNonceForAddress

Defined in​

src/provider/rpc.ts:62


getBlock​

β–Έ getBlock(): Promise<PendingBlock>

Gets the block information

Returns​

Promise<PendingBlock>

the block object

Implementation of​

AccountInterface.getBlock

Inherited from​

Provider.getBlock

Defined in​

src/provider/rpc.ts:69

β–Έ getBlock(blockIdentifier): Promise<PendingBlock>

Parameters​

NameType
blockIdentifier"pending"

Returns​

Promise<PendingBlock>

Implementation of​

AccountInterface.getBlock

Inherited from​

Provider.getBlock

Defined in​

src/provider/rpc.ts:70

β–Έ getBlock(blockIdentifier): Promise<Block>

Parameters​

NameType
blockIdentifier"latest"

Returns​

Promise<Block>

Implementation of​

AccountInterface.getBlock

Inherited from​

Provider.getBlock

Defined in​

src/provider/rpc.ts:71

β–Έ getBlock(blockIdentifier?): Promise<GetBlockResponse>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<GetBlockResponse>

Implementation of​

AccountInterface.getBlock

Inherited from​

Provider.getBlock

Defined in​

src/provider/rpc.ts:72


getBlockLatestAccepted​

β–Έ getBlockLatestAccepted(): Promise<BlockHashAndNumber>

Get the most recent accepted block hash and number

Returns​

Promise<BlockHashAndNumber>

Inherited from​

Provider.getBlockLatestAccepted

Defined in​

src/provider/rpc.ts:82


getBlockNumber​

β–Έ getBlockNumber(): Promise<number>

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

Returns​

Promise<number>

Number of the latest block

Inherited from​

Provider.getBlockNumber

Defined in​

src/provider/rpc.ts:91


getBlockWithTxHashes​

β–Έ getBlockWithTxHashes(blockIdentifier?): Promise<BlockWithTxHashes>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<BlockWithTxHashes>

Inherited from​

Provider.getBlockWithTxHashes

Defined in​

src/provider/rpc.ts:95


getBlockWithTxs​

β–Έ getBlockWithTxs(blockIdentifier?): Promise<BlockWithTxs>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<BlockWithTxs>

Inherited from​

Provider.getBlockWithTxs

Defined in​

src/provider/rpc.ts:99


getBlockWithReceipts​

β–Έ getBlockWithReceipts(blockIdentifier?): Promise<BlockWithTxReceipts>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<BlockWithTxReceipts>

Inherited from​

Provider.getBlockWithReceipts

Defined in​

src/provider/rpc.ts:103


getBlockStateUpdate​

β–Έ getBlockStateUpdate(): Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Returns​

Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Inherited from​

Provider.getBlockStateUpdate

Defined in​

src/provider/rpc.ts:112

β–Έ getBlockStateUpdate(blockIdentifier): Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Parameters​

NameType
blockIdentifier"pending"

Returns​

Promise<{ block_hash: never ; old_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Inherited from​

Provider.getBlockStateUpdate

Defined in​

src/provider/rpc.ts:113

β–Έ getBlockStateUpdate(blockIdentifier): Promise<{ block_hash: string ; old_root: string ; new_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Parameters​

NameType
blockIdentifier"latest"

Returns​

Promise<{ block_hash: string ; old_root: string ; new_root: string ; state_diff: { storage_diffs: { address: string; storage_entries: { key: string; value: string; }[]; }[]; deprecated_declared_classes: string[]; declared_classes: { class_hash: string; compiled_class_hash: string; }[]; deployed_contracts: { ...; }[]; replaced_classes: { ...; }[]; nonces: { ...; }[]; } }>

Inherited from​

Provider.getBlockStateUpdate

Defined in​

src/provider/rpc.ts:114

β–Έ getBlockStateUpdate(blockIdentifier?): Promise<StateUpdateResponse>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<StateUpdateResponse>

Inherited from​

Provider.getBlockStateUpdate

Defined in​

src/provider/rpc.ts:115


getBlockTransactionsTraces​

β–Έ getBlockTransactionsTraces(blockIdentifier?): Promise<BlockTransactionsTraces>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<BlockTransactionsTraces>

Inherited from​

Provider.getBlockTransactionsTraces

Defined in​

src/provider/rpc.ts:120


getBlockTransactionCount​

β–Έ getBlockTransactionCount(blockIdentifier?): Promise<number>

Parameters​

NameType
blockIdentifier?BlockIdentifier

Returns​

Promise<number>

Inherited from​

Provider.getBlockTransactionCount

Defined in​

src/provider/rpc.ts:124


getPendingTransactions​

β–Έ getPendingTransactions(): Promise<TransactionWithHash[]>

Return transactions from pending block

Returns​

Promise<TransactionWithHash[]>

Deprecated

Instead use getBlock(BlockTag.pending); (will be removed in next minor version) Utility method, same result can be achieved using getBlockWithTxHashes(BlockTag.pending);

Inherited from​

Provider.getPendingTransactions

Defined in​

src/provider/rpc.ts:133


getTransaction​

β–Έ getTransaction(txHash): Promise<TransactionWithHash>

Gets the transaction information from a tx id.

Parameters​

NameType
txHashBigNumberish

Returns​

Promise<TransactionWithHash>

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

Implementation of​

AccountInterface.getTransaction

Inherited from​

Provider.getTransaction

Defined in​

src/provider/rpc.ts:140


getTransactionByHash​

β–Έ getTransactionByHash(txHash): Promise<TransactionWithHash>

Parameters​

NameType
txHashBigNumberish

Returns​

Promise<TransactionWithHash>

Inherited from​

Provider.getTransactionByHash

Defined in​

src/provider/rpc.ts:144


getTransactionByBlockIdAndIndex​

β–Έ getTransactionByBlockIdAndIndex(blockIdentifier, index): Promise<TransactionWithHash>

Parameters​

NameType
blockIdentifierBlockIdentifier
indexnumber

Returns​

Promise<TransactionWithHash>

Inherited from​

Provider.getTransactionByBlockIdAndIndex

Defined in​

src/provider/rpc.ts:148


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​

AccountInterface.getTransactionReceipt

Inherited from​

Provider.getTransactionReceipt

Defined in​

src/provider/rpc.ts:152


getTransactionTrace​

β–Έ getTransactionTrace(txHash): Promise<TRANSACTION_TRACE>

Parameters​

NameType
txHashBigNumberish

Returns​

Promise<TRANSACTION_TRACE>

Inherited from​

Provider.getTransactionTrace

Defined in​

src/provider/rpc.ts:159


getTransactionStatus​

β–Έ getTransactionStatus(transactionHash): Promise<TransactionStatus>

Get the status of a transaction

Parameters​

NameType
transactionHashBigNumberish

Returns​

Promise<TransactionStatus>

Inherited from​

Provider.getTransactionStatus

Defined in​

src/provider/rpc.ts:166


getSimulateTransaction​

β–Έ getSimulateTransaction(invocations, options?): Promise<SimulateTransactionResponse>

Parameters​

NameTypeDescription
invocationsAccountInvocationsAccountInvocations
options?getSimulateTransactionOptions-

Returns​

Promise<SimulateTransactionResponse>

Implementation of​

AccountInterface.getSimulateTransaction

Inherited from​

Provider.getSimulateTransaction

Defined in​

src/provider/rpc.ts:177


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​

AccountInterface.waitForTransaction

Inherited from​

Provider.waitForTransaction

Defined in​

src/provider/rpc.ts:187


getStorageAt​

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

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

Parameters​

NameTypeDescription
contractAddressBigNumberish
keyBigNumberishfrom getStorageVarAddress('<STORAGE_VARIABLE_NAME>') (WIP)
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string>

the value of the storage variable

Implementation of​

AccountInterface.getStorageAt

Inherited from​

Provider.getStorageAt

Defined in​

src/provider/rpc.ts:198


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
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string>

Class hash

Implementation of​

AccountInterface.getClassHashAt

Inherited from​

Provider.getClassHashAt

Defined in​

src/provider/rpc.ts:206


getClassByHash​

β–Έ getClassByHash(classHash): Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Returns the contract class deployed under the given class hash.

Parameters​

NameTypeDescription
classHashBigNumberishclass hash

Returns​

Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Contract class of compiled contract

Implementation of​

AccountInterface.getClassByHash

Inherited from​

Provider.getClassByHash

Defined in​

src/provider/rpc.ts:210


getClass​

β–Έ getClass(classHash, blockIdentifier?): Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Parameters​

NameType
classHashBigNumberish
blockIdentifier?BlockIdentifier

Returns​

Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Inherited from​

Provider.getClass

Defined in​

src/provider/rpc.ts:214


getClassAt​

β–Έ getClassAt(contractAddress, blockIdentifier?): Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Gets the contract class of the deployed contract.

Parameters​

NameTypeDescription
contractAddressBigNumberishcontract address
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<LegacyContractClass | Omit<CompiledSierra, "sierra_program_debug_info">>

Contract class of compiled contract

Implementation of​

AccountInterface.getClassAt

Inherited from​

Provider.getClassAt

Defined in​

src/provider/rpc.ts:220


getContractVersion​

β–Έ getContractVersion(contractAddress, classHash?, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

NameTypeDescription
contractAddressBigNumberishstring
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​

AccountInterface.getContractVersion

Inherited from​

Provider.getContractVersion

Defined in​

src/provider/rpc.ts:226

β–Έ getContractVersion(contractAddress, classHash, options?): Promise<ContractVersion>

Gets the contract version from the provided address

Parameters​

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

Returns​

Promise<ContractVersion>

Implementation of​

AccountInterface.getContractVersion

Inherited from​

Provider.getContractVersion

Defined in​

src/provider/rpc.ts:231


getEstimateFee​

β–Έ getEstimateFee(invocation, invocationDetails, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Parameters​

NameType
invocationInvocation
invocationDetailsInvocationsDetailsWithNonce
blockIdentifier?BlockIdentifier
skipValidate?boolean

Returns​

Promise<EstimateFeeResponse>

Deprecated

use gettypeEstimateFee (will be refactored based on type after sequencer deprecation)

Implementation of​

AccountInterface.getEstimateFee

Inherited from​

Provider.getEstimateFee

Defined in​

src/provider/rpc.ts:267


getInvokeEstimateFee​

β–Έ getInvokeEstimateFee(invocation, invocationDetails, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given INVOKE transaction

Parameters​

NameTypeDescription
invocationInvocationthe 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
invocationDetailsInvocationsDetailsWithNonceoptional details containing: - nonce - optional nonce - version - optional version
blockIdentifier?BlockIdentifier(optional) block identifier
skipValidate?boolean(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

AccountInterface.getInvokeEstimateFee

Inherited from​

Provider.getInvokeEstimateFee

Defined in​

src/provider/rpc.ts:276


getDeclareEstimateFee​

β–Έ getDeclareEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given DECLARE transaction

Parameters​

NameTypeDescription
invocationDeclareContractTransactiontransaction payload to be declared containing: - compiled contract code - sender address - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - version - optional version - optional maxFee
blockIdentifier?BlockIdentifier(optional) block identifier
skipValidate?boolean(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

AccountInterface.getDeclareEstimateFee

Inherited from​

Provider.getDeclareEstimateFee

Defined in​

src/provider/rpc.ts:296


getDeployAccountEstimateFee​

β–Έ getDeployAccountEstimateFee(invocation, details, blockIdentifier?, skipValidate?): Promise<EstimateFeeResponse>

Estimates the fee for a given DEPLOY_ACCOUNT transaction

Parameters​

NameTypeDescription
invocationDeployAccountContractTransactiontransaction payload to be deployed containing: - classHash - constructorCalldata - addressSalt - signature - (defaults to []) the signature
detailsInvocationsDetailsWithNonceoptional details containing: - nonce - version - optional version - optional maxFee
blockIdentifier?BlockIdentifier(optional) block identifier
skipValidate?boolean(optional) skip cairo validate method

Returns​

Promise<EstimateFeeResponse>

the estimated fee

Implementation of​

AccountInterface.getDeployAccountEstimateFee

Inherited from​

Provider.getDeployAccountEstimateFee

Defined in​

src/provider/rpc.ts:316


getEstimateFeeBulk​

β–Έ getEstimateFeeBulk(invocations, options): Promise<EstimateFeeResponseBulk>

Estimates the fee for a list of INVOKE transaction

Parameters​

NameTypeDescription
invocationsAccountInvocationsAccountInvocations - Complete invocations array with account details
optionsgetEstimateFeeBulkOptionsgetEstimateFeeBulkOptions - (optional) blockIdentifier - BlockIdentifier

Returns​

Promise<EstimateFeeResponseBulk>

the estimated fee

Implementation of​

AccountInterface.getEstimateFeeBulk

Inherited from​

Provider.getEstimateFeeBulk

Defined in​

src/provider/rpc.ts:336


invokeFunction​

β–Έ invokeFunction(functionInvocation, details): Promise<InvokedTransaction>

Invokes a function on starknet

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

response from addTransaction

Deprecated

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

Implementation of​

AccountInterface.invokeFunction

Inherited from​

Provider.invokeFunction

Defined in​

src/provider/rpc.ts:345


declareContract​

β–Έ declareContract(transaction, details): Promise<DeclaredTransaction>

Declares a given compiled contract (json) to starknet

Parameters​

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

Returns​

Promise<DeclaredTransaction>

a confirmation of sending a transaction on the starknet contract

Implementation of​

AccountInterface.declareContract

Inherited from​

Provider.declareContract

Defined in​

src/provider/rpc.ts:352


deployAccountContract​

β–Έ deployAccountContract(transaction, details): Promise<DeployedAccountTransaction>

Deploys a given compiled Account contract (json) to starknet

Parameters​

NameTypeDescription
transactionDeployAccountContractTransactionpayload to be deployed containing: - compiled contract code - constructor calldata - address salt
detailsInvocationsDetailsWithNonce-

Returns​

Promise<DeployedAccountTransaction>

a confirmation of sending a transaction on the starknet contract

Implementation of​

AccountInterface.deployAccountContract

Inherited from​

Provider.deployAccountContract

Defined in​

src/provider/rpc.ts:359


callContract​

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

Calls a function on the Starknet contract.

Parameters​

NameTypeDescription
callCalltransaction to be called
blockIdentifier?BlockIdentifierblock identifier

Returns​

Promise<string[]>

the result of the function on the smart contract.

Implementation of​

AccountInterface.callContract

Inherited from​

Provider.callContract

Defined in​

src/provider/rpc.ts:369


estimateMessageFee​

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

NEW: Estimate the fee for a message from L1

Parameters​

NameTypeDescription
messageMSG_FROM_L1Message From L1
blockIdentifier?BlockIdentifier-

Returns​

Promise<FEE_ESTIMATE>

Inherited from​

Provider.estimateMessageFee

Defined in​

src/provider/rpc.ts:377


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

Inherited from​

Provider.getSyncingStats

Defined in​

src/provider/rpc.ts:385


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

Inherited from​

Provider.getEvents

Defined in​

src/provider/rpc.ts:393


getAddressFromStarkName​

β–Έ getAddressFromStarkName(name, StarknetIdContract?): Promise<string>

Parameters​

NameType
namestring
StarknetIdContract?string

Returns​

Promise<string>

Inherited from​

Provider.getAddressFromStarkName

Defined in​

src/provider/extensions/starknetId.ts:30


getStarkProfile​

β–Έ getStarkProfile(address, StarknetIdContract?, StarknetIdIdentityContract?, StarknetIdVerifierContract?, StarknetIdPfpContract?, StarknetIdPopContract?, StarknetIdMulticallContract?): Promise<StarkProfile>

Parameters​

NameType
addressBigNumberish
StarknetIdContract?string
StarknetIdIdentityContract?string
StarknetIdVerifierContract?string
StarknetIdPfpContract?string
StarknetIdPopContract?string
StarknetIdMulticallContract?string

Returns​

Promise<StarkProfile>

Inherited from​

Provider.getStarkProfile

Defined in​

src/provider/extensions/starknetId.ts:39