StarknetChainInterface
Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:53
Main chain interface for interacting with Starknet blockchain
Implements
ChainInterface<StarknetTx,SignedStarknetTx,StarknetSigner,"STARKNET",Account>
Constructors
Constructor
new StarknetChainInterface(
chainId,
provider,
wsChannel?,
feeEstimator?,
options?): StarknetChainInterface;
Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:79
Parameters
| Parameter | Type |
|---|---|
chainId | StarknetChainId |
provider | Provider |
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
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
| Parameter | Type | Description |
|---|---|---|
txData | string | Serialized 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
| Parameter | Type | Description |
|---|---|---|
txData | string | Serialized transaction data string |
Returns
Promise<StarknetTx>
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
signer | string | Address to check the balance of |
tokenAddress | string | Token |
Returns
Promise<bigint>
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
txId | string | Transaction ID |
Returns
Promise<"not_found" | "pending" | "success" | "reverted">
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
tx | string | Serialized transaction |
Returns
Promise<"not_found" | "pending" | "success" | "reverted">
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
address | string | |
lenient? | boolean | Whether a lenient parsing should be used (i.e. don't strictly enforce the Starknet address lengths) |
Returns
boolean
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
tokenIdentifier | string |
Returns
boolean
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
address | string |
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
| Parameter | Type | Description |
|---|---|---|
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
| Parameter | Type |
|---|---|
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
| Parameter | Type | Description |
|---|---|---|
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
| Parameter | Type |
|---|---|
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
randomSigner()
randomSigner(): StarknetSigner;
Defined in: atomiq-chain-starknet/src/starknet/chain/StarknetChainInterface.ts:179
Returns randomly generated signer
Returns
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
signer | StarknetSigner | Signer to use for signing transactions |
txs | StarknetTx[] | Transactions to send |
waitForConfirmation? | boolean | Whether to wait for transaction confirmation (if parallel is not specified, every transaction's confirmation except the last one is awaited) |
abortSignal? | AbortSignal | Abort signal |
parallel? | boolean | Whether 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
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
| Parameter | Type | Description |
|---|---|---|
signedTxs | StarknetTx[] | Signed transactions to be sent |
waitForConfirmation? | boolean | Whether to wait for transaction confirmation (if parallel is not specified, every transaction's confirmation except the last one is awaited) |
abortSignal? | AbortSignal | Abort signal |
parallel? | boolean | Whether 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
| Parameter | Type | Description |
|---|---|---|
signedTx | StarknetTx | Transaction 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
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTx | Transaction to serialize |
Returns
Promise<string>
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
signer | StarknetSigner | Signer/owner of the tokens |
token | string | Token to transfer |
amount | bigint | Amount of token to transfer |
dstAddress | string | Destination address of the transfer |
txOptions? | TransactionConfirmationOptions | Transaction options |
Returns
Promise<string>
Implementation of
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
| Parameter | Type | Description |
|---|---|---|
signer | string | Signer/owner of the tokens |
token | string | Token to transfer |
amount | bigint | Amount of token to transfer |
dstAddress | string | Destination address of the transfer |
feeRate? | string | Optional fee rate to use for the transaction (fetched on-demand if not provided) |
Returns
Promise<StarknetTx[]>
Implementation of
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
| Parameter | Type |
|---|---|
signer | Account |
Returns
Promise<StarknetSigner>