Skip to main content

StarknetChainInterface

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:53

Main chain interface for interacting with Starknet blockchain

Implements

Constructors

Constructor

new StarknetChainInterface(
chainId,
provider,
wsChannel?,
feeEstimator?,
options?): StarknetChainInterface;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:79

Parameters

ParameterType
chainIdStarknetChainId
providerProvider
wsChannel?WebSocketChannel
feeEstimator?StarknetFees
options?StarknetConfig

Returns

StarknetChainInterface

Properties

Accounts

readonly Accounts: StarknetAccounts;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:74


Blocks

readonly Blocks: StarknetBlocks;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:75


chainId

readonly chainId: "STARKNET" = "STARKNET";

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:55

Chain identifier string

Implementation of

ChainInterface.chainId


config

readonly config: StarknetConfig;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:77


Events

readonly Events: StarknetEvents;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:73


Fees

Fees: StarknetFees;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:69


Signatures

readonly Signatures: StarknetSignatures;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:72


starknetChainId

readonly starknetChainId: StarknetChainId;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:56


Tokens

readonly Tokens: StarknetTokens;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:70


Transactions

readonly Transactions: StarknetTransactions;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:71

Methods

deserializeSignedTx()

deserializeSignedTx(txData): Promise<StarknetTx>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:238

Deserializes a transaction from string

Parameters

ParameterTypeDescription
txDatastringSerialized transaction data string

Returns

Promise<StarknetTx>

Implementation of

ChainInterface.deserializeSignedTx


deserializeTx()

deserializeTx(txData): Promise<StarknetTx>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:224

Deserializes a transaction from string

Parameters

ParameterTypeDescription
txDatastringSerialized transaction data string

Returns

Promise<StarknetTx>

Implementation of

ChainInterface.deserializeTx


getBalance()

getBalance(signer, tokenAddress): Promise<bigint>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:108

Returns the token balance of a specific address

Parameters

ParameterTypeDescription
signerstringAddress to check the balance of
tokenAddressstringToken

Returns

Promise<bigint>

Implementation of

ChainInterface.getBalance


getFinalizedBlock()

getFinalizedBlock(): Promise<{
blockHash: string;
height: number;
}>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:259

Returns the latest known finalized block data (this is a block with 100% certainty of not getting re-org, i.e. a block already committed on L1)

Returns

Promise<{ blockHash: string; height: number; }>

Implementation of

ChainInterface.getFinalizedBlock


getNativeCurrencyAddress()

getNativeCurrencyAddress(): string;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:116

Returns the token address of the native currency of the chain

Returns

string

Implementation of

ChainInterface.getNativeCurrencyAddress


getTxIdStatus()

getTxIdStatus(txId): Promise<"not_found" | "pending" | "success" | "reverted">;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:245

Returns the status of the given transactionId (use getTxStatus whenever possible, it's more reliable)

Parameters

ParameterTypeDescription
txIdstringTransaction ID

Returns

Promise<"not_found" | "pending" | "success" | "reverted">

Implementation of

ChainInterface.getTxIdStatus


getTxStatus()

getTxStatus(tx): Promise<"not_found" | "pending" | "success" | "reverted">;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:252

Returns the status of the given serialized transaction

Parameters

ParameterTypeDescription
txstringSerialized transaction

Returns

Promise<"not_found" | "pending" | "success" | "reverted">

Implementation of

ChainInterface.getTxStatus


isValidAddress()

isValidAddress(address, lenient?): boolean;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:130

Checks if a given string is a valid wallet address

Parameters

ParameterTypeDescription
addressstring
lenient?booleanWhether a lenient parsing should be used (i.e. don't strictly enforce the Starknet address lengths)

Returns

boolean

Implementation of

ChainInterface.isValidAddress


isValidToken()

isValidToken(tokenIdentifier): boolean;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:123

Checks if a given string is a valid token identifier

Parameters

ParameterTypeDescription
tokenIdentifierstring

Returns

boolean

Implementation of

ChainInterface.isValidToken


normalizeAddress()

normalizeAddress(address): string;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:137

Normalizes a given address i.e. pads it to the specific size

Parameters

ParameterTypeDescription
addressstring

Returns

string

Implementation of

ChainInterface.normalizeAddress


offBeforeTxReplace()

offBeforeTxReplace(callback): boolean;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:146

Remove tx replace callback

Parameters

ParameterTypeDescription
callback(oldTx, oldTxId, newTx, newTxId) => Promise<void>

Returns

boolean

Implementation of

ChainInterface.offBeforeTxReplace


offBeforeTxSigned()

offBeforeTxSigned(callback): boolean;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:165

Parameters

ParameterType
callback(tx) => Promise<void>

Returns

boolean

Inherit Doc


onBeforeTxReplace()

onBeforeTxReplace(callback): void;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:153

Callback called when transaction is being replaced (used for EVM, when fee is bumped on an unconfirmed tx)

Parameters

ParameterTypeDescription
callback(oldTx, oldTxId, newTx, newTxId) => Promise<void>

Returns

void

Implementation of

ChainInterface.onBeforeTxReplace


onBeforeTxSigned()

onBeforeTxSigned(callback): void;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:158

Parameters

ParameterType
callback(tx) => Promise<void>

Returns

void

Inherit Doc


randomAddress()

randomAddress(): string;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:172

Returns a random valid wallet address

Returns

string

Implementation of

ChainInterface.randomAddress


randomSigner()

randomSigner(): StarknetSigner;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:179

Returns randomly generated signer

Returns

StarknetSigner

Implementation of

ChainInterface.randomSigner


sendAndConfirm()

sendAndConfirm(
signer,
txs,
waitForConfirmation?,
abortSignal?,
parallel?,
onBeforePublish?): Promise<string[]>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:190

Signs, sends a batch of transaction and optionally waits for their confirmation

Parameters

ParameterTypeDescription
signerStarknetSignerSigner to use for signing transactions
txsStarknetTx[]Transactions to send
waitForConfirmation?booleanWhether to wait for transaction confirmation (if parallel is not specified, every transaction's confirmation except the last one is awaited)
abortSignal?AbortSignalAbort signal
parallel?booleanWhether to send all transactions in parallel or one by one (always waiting for the previous TX to confirm)
onBeforePublish?(txId, rawTx) => Promise<void>Callback called before a tx is broadcast

Returns

Promise<string[]>

Implementation of

ChainInterface.sendAndConfirm


sendSignedAndConfirm()

sendSignedAndConfirm(
signedTxs,
waitForConfirmation?,
abortSignal?,
parallel?,
onBeforePublish?): Promise<string[]>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:204

Sends already signed transactions and optionally waits for their confirmation

Parameters

ParameterTypeDescription
signedTxsStarknetTx[]Signed transactions to be sent
waitForConfirmation?booleanWhether to wait for transaction confirmation (if parallel is not specified, every transaction's confirmation except the last one is awaited)
abortSignal?AbortSignalAbort signal
parallel?booleanWhether to send all transactions in parallel or one by one (always waiting for the previous TX to confirm)
onBeforePublish?(txId, rawTx) => Promise<void>Callback called before a tx is broadcast

Returns

Promise<string[]>

Implementation of

ChainInterface.sendSignedAndConfirm


serializeSignedTx()

serializeSignedTx(signedTx): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:231

Serializes a given transaction to a string

Parameters

ParameterTypeDescription
signedTxStarknetTxTransaction to serialize

Returns

Promise<string>

Implementation of

ChainInterface.serializeSignedTx


serializeTx()

serializeTx(tx): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:217

Serializes a given transaction to a string

Parameters

ParameterTypeDescription
txStarknetTxTransaction to serialize

Returns

Promise<string>

Implementation of

ChainInterface.serializeTx


transfer()

transfer(
signer,
token,
amount,
dstAddress,
txOptions?): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:277

Transfers the specific token to a given recipient

Parameters

ParameterTypeDescription
signerStarknetSignerSigner/owner of the tokens
tokenstringToken to transfer
amountbigintAmount of token to transfer
dstAddressstringDestination address of the transfer
txOptions?TransactionConfirmationOptionsTransaction options

Returns

Promise<string>

Implementation of

ChainInterface.transfer


txsTransfer()

txsTransfer(
signer,
token,
amount,
dstAddress,
feeRate?): Promise<StarknetTx[]>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:270

Returns transactions for transferring a specific token to a given recipient

Parameters

ParameterTypeDescription
signerstringSigner/owner of the tokens
tokenstringToken to transfer
amountbigintAmount of token to transfer
dstAddressstringDestination address of the transfer
feeRate?stringOptional fee rate to use for the transaction (fetched on-demand if not provided)

Returns

Promise<StarknetTx[]>

Implementation of

ChainInterface.txsTransfer


wrapSigner()

wrapSigner(signer): Promise<StarknetSigner>;

Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:292

Wraps a native chain signer object to an atomiq-understandable AbstractSigner

Parameters

ParameterType
signerAccount

Returns

Promise<StarknetSigner>

Implementation of

ChainInterface.wrapSigner