EVMChainInterface<ChainId>
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:104
Main chain interface for interacting with EVM-compatible blockchains
Type Parameters
| Type Parameter | Default type |
|---|---|
ChainId extends string | string |
Implements
ChainInterface<EVMTx,SignedEVMTx,EVMSigner,ChainId,Signer>
Constructors
Constructor
new EVMChainInterface<ChainId>(
chainId,
evmChainId,
provider,
config,
retryPolicy?,
evmFeeEstimator?): EVMChainInterface<ChainId>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:131
Parameters
| Parameter | Type |
|---|---|
chainId | ChainId |
evmChainId | number |
provider | JsonRpcApiProvider |
config | EVMConfiguration |
retryPolicy? | EVMRetryPolicy |
evmFeeEstimator? | EVMFees |
Returns
EVMChainInterface<ChainId>
Properties
Blocks
Blocks: EVMBlocks;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:124
chainId
readonly chainId: ChainId;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:106
Chain identifier string
Implementation of
Events
Events: EVMEvents;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:123
evmChainId
readonly evmChainId: number;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:108
Fees
Fees: EVMFees;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:119
provider
readonly provider: JsonRpcApiProvider;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:107
Signatures
Signatures: EVMSignatures;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:122
Tokens
Tokens: EVMTokens;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:120
Transactions
Transactions: EVMTransactions;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:121
Methods
deserializeSignedTx()
deserializeSignedTx(txData): Promise<Transaction>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:291
Deserializes a transaction from string
Parameters
| Parameter | Type | Description |
|---|---|---|
txData | string | Serialized transaction data string |
Returns
Promise<Transaction>
Implementation of
ChainInterface.deserializeSignedTx
deserializeTx()
deserializeTx(txData): Promise<TransactionRequest>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:277
Deserializes a transaction from string
Parameters
| Parameter | Type | Description |
|---|---|---|
txData | string | Serialized transaction data string |
Returns
Promise<TransactionRequest>
Implementation of
getBalance()
getBalance(signer, tokenAddress): Promise<bigint>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:162
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-evm/src/evm/chain/EVMChainInterface.ts:312
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-evm/src/evm/chain/EVMChainInterface.ts:170
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-evm/src/evm/chain/EVMChainInterface.ts:298
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-evm/src/evm/chain/EVMChainInterface.ts:305
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): boolean;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:184
Checks if a given string is a valid wallet address
Parameters
| Parameter | Type | Description |
|---|---|---|
address | string |
Returns
boolean
Implementation of
isValidToken()
isValidToken(tokenIdentifier): boolean;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:177
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-evm/src/evm/chain/EVMChainInterface.ts:191
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-evm/src/evm/chain/EVMChainInterface.ts:200
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-evm/src/evm/chain/EVMChainInterface.ts:218
Parameters
| Parameter | Type |
|---|---|
callback | (tx) => Promise<void> |
Returns
boolean
Inherit Doc
onBeforeTxReplace()
onBeforeTxReplace(callback): void;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:206
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-evm/src/evm/chain/EVMChainInterface.ts:211
Parameters
| Parameter | Type |
|---|---|
callback | (tx) => Promise<void> |
Returns
void
Inherit Doc
randomAddress()
randomAddress(): string;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:225
Returns a random valid wallet address
Returns
string
Implementation of
randomSigner()
randomSigner(): EVMSigner;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:232
Returns randomly generated signer
Returns
Implementation of
sendAndConfirm()
sendAndConfirm(
signer,
txs,
waitForConfirmation?,
abortSignal?,
parallel?,
onBeforePublish?,
useAccessLists?): Promise<string[]>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:242
Signs, sends a batch of transaction and optionally waits for their confirmation
Parameters
| Parameter | Type | Description |
|---|---|---|
signer | EVMSigner | Signer to use for signing transactions |
txs | TransactionRequest[] | 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 |
useAccessLists? | boolean | - |
Returns
Promise<string[]>
Implementation of
sendSignedAndConfirm()
sendSignedAndConfirm(
signedTxs,
waitForConfirmation?,
abortSignal?,
parallel?,
onBeforePublish?): Promise<string[]>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:257
Sends already signed transactions and optionally waits for their confirmation
Parameters
| Parameter | Type | Description |
|---|---|---|
signedTxs | Transaction[] | 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(tx): Promise<string>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:284
Serializes a given transaction to a string
Parameters
| Parameter | Type | Description |
|---|---|---|
tx | Transaction | Transaction to serialize |
Returns
Promise<string>
Implementation of
ChainInterface.serializeSignedTx
serializeTx()
serializeTx(tx): Promise<string>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:270
Serializes a given transaction to a string
Parameters
| Parameter | Type | Description |
|---|---|---|
tx | TransactionRequest | Transaction to serialize |
Returns
Promise<string>
Implementation of
transfer()
transfer(
signer,
token,
amount,
dstAddress,
txOptions?): Promise<string>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:330
Transfers the specific token to a given recipient
Parameters
| Parameter | Type | Description |
|---|---|---|
signer | EVMSigner | 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<TransactionRequest[]>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:323
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<TransactionRequest[]>
Implementation of
wrapSigner()
wrapSigner(signer): Promise<EVMSigner>;
Defined in: atomiq-chain-evm/src/evm/chain/EVMChainInterface.ts:345
Wraps a native chain signer object to an atomiq-understandable AbstractSigner
Parameters
| Parameter | Type |
|---|---|
signer | Signer |
Returns
Promise<EVMSigner>