Class: AptosChain
Defined in: aptos/index.ts:86
Aptos chain implementation supporting Aptos networks.
Extends
Indexable
[key: symbol]: () => string
Constructors
Constructor
new AptosChain(
provider:Aptos,network:NetworkInfo,ctx?:ChainContext):AptosChain
Defined in: aptos/index.ts:109
Creates a new AptosChain instance.
Parameters
| Parameter | Type | Description |
|---|---|---|
provider | Aptos | Aptos SDK provider instance. |
network | NetworkInfo | Network information for this chain. |
ctx? | ChainContext | - |
Returns
AptosChain
Overrides
Chain<typeof ChainFamily.Aptos>.constructor
Properties
apiClient
readonlyapiClient:CCIPAPIClient|null
Defined in: chain.ts:339
CCIP API client (null if opted out)
Inherited from
apiRetryConfig
readonlyapiRetryConfig:Required<ApiRetryConfig> |null
Defined in: chain.ts:341
Retry configuration for API fallback operations (null if API client is disabled)
Inherited from
destroy$
readonlydestroy$:Promise<void>
Defined in: aptos/index.ts:95
getTokenInfo()
getTokenInfo: (
token:string) =>Promise<TokenInfo>
Defined in: aptos/index.ts:100
Retrieves token information for a given token address.
Parameters
| Parameter | Type |
|---|---|
token | string |
Returns
Promise<TokenInfo>
Overrides
logger
logger:
Logger
Defined in: chain.ts:337
Inherited from
network
readonlynetwork:NetworkInfo<"APTOS">
Defined in: chain.ts:336
Inherited from
provider
provider:
Aptos
Defined in: aptos/index.ts:97
The Aptos SDK provider for blockchain interactions.
decimals
readonlystaticdecimals:8=8
Defined in: aptos/index.ts:93
Native token decimals (8 for APT).
family
readonlystaticfamily:"APTOS"=ChainFamily.Aptos
Defined in: aptos/index.ts:91
Chain family identifier for Aptos networks.
Methods
destroy()?
optionaldestroy():void|Promise<void>
Defined in: chain.ts:375
Cleanup method to release resources (e.g., close connections).
Returns
void | Promise<void>
Inherited from
estimateReceiveExecution()?
optionalestimateReceiveExecution(opts: {message: {data?:BytesLike;destTokenAmounts?: readonly {amount:bigint;token:string; }[];messageId:string;sender?:string;sourceChainSelector:bigint; };offRamp:string;receiver:string; }):Promise<number>
Defined in: chain.ts:1347
Estimate ccipReceive execution cost (gas, computeUnits) for this dest
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | { message: { data?: BytesLike; destTokenAmounts?: readonly { amount: bigint; token: string; }[]; messageId: string; sender?: string; sourceChainSelector: bigint; }; offRamp: string; receiver: string; } | estimation options |
opts.message | { data?: BytesLike; destTokenAmounts?: readonly { amount: bigint; token: string; }[]; messageId: string; sender?: string; sourceChainSelector: bigint; } | - |
opts.message.data? | BytesLike | - |
opts.message.destTokenAmounts? | readonly { amount: bigint; token: string; }[] | - |
opts.message.messageId | string | - |
opts.message.sender? | string | - |
opts.message.sourceChainSelector | bigint | - |
opts.offRamp | string | - |
opts.receiver | string | - |
Returns
Promise<number>
estimated execution cost (gas or computeUnits)
Inherited from
Chain.estimateReceiveExecution
execute()
execute(
opts:ExecuteOpts& {wallet:unknown; }):Promise<CCIPExecution>
Defined in: aptos/index.ts:591
Execute messages in report in an offRamp.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | ExecuteOpts & { wallet: unknown; } | ExecuteOpts with chain-specific wallet to sign and send tx |
Returns
Promise<CCIPExecution>
Promise resolving to transaction of the execution
Throws
CCIPAptosWalletInvalidError if wallet is not a valid Aptos account
Overrides
generateUnsignedExecute()
generateUnsignedExecute(
__namedParameters:ExecuteOpts& {payer:string; }):Promise<UnsignedAptosTx>
Defined in: aptos/index.ts:559
Generate unsigned tx to manuallyExecute a message.
Parameters
| Parameter | Type | Description |
|---|---|---|
__namedParameters | ExecuteOpts & { payer: string; } | ExecuteOpts with payer address which will send the exec tx |
Returns
Promise<UnsignedAptosTx>
Promise resolving to chain-family specific unsigned txs
Throws
CCIPAptosExtraArgsV2RequiredError if message missing EVMExtraArgsV2 fields
Overrides
generateUnsignedSendMessage()
generateUnsignedSendMessage(
opts:SendMessageOpts& {sender:string; }):Promise<UnsignedAptosTx>
Defined in: aptos/index.ts:497
Generate unsigned txs for ccipSend'ing a message.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | SendMessageOpts & { sender: string; } | SendMessageOpts with sender address |
Returns
Promise<UnsignedAptosTx>
Promise resolving to chain-family specific unsigned txs
Overrides
Chain.generateUnsignedSendMessage
getBalance()
getBalance(
opts:GetBalanceOpts):Promise<bigint>
Defined in: aptos/index.ts:327
Query token balance for an address.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | GetBalanceOpts | Balance query options |
Returns
Promise<bigint>
Token balance information including raw and formatted values
Overrides
getBlockTimestamp()
getBlockTimestamp(
version:number|"finalized"):Promise<number>
Defined in: aptos/index.ts:199
Fetch the timestamp of a given block.
Parameters
| Parameter | Type | Description |
|---|---|---|
version | number | "finalized" | Positive block number, negative finality depth, or 'finalized' tag |
Returns
Promise<number>
Promise resolving to timestamp of the block, in seconds
Overrides
getExecutionInput()
getExecutionInput(
opts: {request:CCIPRequest;verifications:CCIPVerifications; } &Pick<LogFilter,"page">):Promise<ExecutionInput>
Defined in: chain.ts:629
Fetch input data needed for executing messages Should be called on the source instance
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | { request: CCIPRequest; verifications: CCIPVerifications; } & Pick<LogFilter, "page"> | getExecutionInput options containing request and verifications |
Returns
Promise<ExecutionInput>
input payload to be passed to [[execute]]
See
execute - method to execute a message
Inherited from
getExecutionReceipts()
getExecutionReceipts(
opts: {messageId?:string;offRamp:string;sourceChainSelector?:bigint;verifications?:CCIPVerifications; } &Pick<LogFilter,"startBlock"|"startTime"|"watch"|"page">):AsyncIterableIterator<CCIPExecution>
Defined in: chain.ts:1072
Default/generic implementation of getExecutionReceipts. Yields execution receipts for a given offRamp.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | { messageId?: string; offRamp: string; sourceChainSelector?: bigint; verifications?: CCIPVerifications; } & Pick<LogFilter, "startBlock" | "startTime" | "watch" | "page"> | getExecutionReceipts options |
Returns
AsyncIterableIterator<CCIPExecution>
Async generator of CCIPExecution receipts
Example
for await (const exec of dest.getExecutionReceipts({
offRamp: offRampAddress,
messageId: request.message.messageId,
startBlock: commit.log.blockNumber,
})) {
console.log(`State: ${exec.receipt.state}`)
if (exec.receipt.state === ExecutionState.Success) break
}
Inherited from
getFee()
getFee(
__namedParameters:Omit<SendMessageOpts,"approveMax">):Promise<bigint>
Defined in: aptos/index.ts:487
Fetch the current fee for a given intended message.
Parameters
| Parameter | Type | Description |
|---|---|---|
__namedParameters | Omit<SendMessageOpts, "approveMax"> | SendMessageOpts without approveMax |
Returns
Promise<bigint>
Fee amount in the feeToken's smallest units
Overrides
getFeeTokens()
getFeeTokens(
router:string):Promise<Record<string,TokenInfo>>
Defined in: aptos/index.ts:828
Fetch list and info of supported feeTokens.
Parameters
| Parameter | Type | Description |
|---|---|---|
router | string | Router address on this chain |
Returns
Promise<Record<string, TokenInfo>>
Promise resolving to mapping of token addresses to TokenInfo objects
Overrides
getLaneLatency()
getLaneLatency(
destChainSelector:bigint):Promise<LaneLatencyResponse>
Defined in: chain.ts:1046
Fetches estimated lane latency to a destination chain. Uses this chain's selector as the source.
Parameters
| Parameter | Type | Description |
|---|---|---|
destChainSelector | bigint | Destination CCIP chain selector (bigint) |
Returns
Promise<LaneLatencyResponse>
Promise resolving to LaneLatencyResponse containing:
lane.sourceNetworkInfo- Source chain metadata (name, selector, chainId)lane.destNetworkInfo- Destination chain metadatalane.routerAddress- Router contract address on source chaintotalMs- Estimated delivery time in milliseconds
Throws
CCIPApiClientNotAvailableError if apiClient was disabled (set to null)
Throws
CCIPHttpError if API request fails (network error, 4xx, 5xx status)
Remarks
Each call makes a fresh API request. Consider caching results if making frequent calls for the same lane.
Example
const chain = await EVMChain.fromUrl('https://eth-mainnet.example.com')
try {
const latency = await chain.getLaneLatency(4949039107694359620n) // Arbitrum
console.log(`Estimated delivery: ${Math.round(latency.totalMs / 60000)} minutes`)
console.log(`Router: ${latency.lane.routerAddress}`)
} catch (err) {
if (err instanceof CCIPHttpError) {
console.error(`API error: ${err.context.apiErrorCode}`)
}
}
Inherited from
getLogs()
getLogs(
opts:LogFilter& {versionAsHash?:boolean; }):AsyncIterableIterator<ChainLog>
Defined in: aptos/index.ts:238
An async generator that yields logs based on the provided options.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | LogFilter & { versionAsHash?: boolean; } | Options object containing: - startBlock: if provided, fetch and generate logs forward starting from this block; otherwise, returns logs backwards in time from endBlock; optionally, startTime may be provided to fetch logs forward starting from this time - startTime: instead of a startBlock, a start timestamp may be provided; if either is provided, fetch logs forward from this starting point; otherwise, backwards - endBlock: if omitted, use latest block; can be a block number, 'latest', 'finalized' or negative finality block depth - endBefore: optional hint signature for end of iteration, instead of endBlock - address: if provided, fetch logs for this address only (may be required in some networks/implementations) - topics: if provided, fetch logs for these topics only; if string[], it's assumed to be a list of topic0s (i.e. string[] or string[][0], event_ids); some networks/implementations may not be able to filter topics other than topic0s, so one may want to assume those are optimization hints, instead of hard filters, and verify results - page: if provided, try to use this page/range for batches - watch: true or cancellation promise, getLogs continuously after initial fetch |
Returns
AsyncIterableIterator<ChainLog>
An async iterable iterator of logs.
Overrides
getMessageById()
getMessageById(
messageId:string,_opts?: {onRamp?:string;page?:number; }):Promise<CCIPRequest<CCIPVersion>>
Defined in: chain.ts:581
Fetch a CCIP message by its unique message ID.
Parameters
| Parameter | Type | Description |
|---|---|---|
messageId | string | The unique message ID (0x + 64 hex chars) |
_opts? | { onRamp?: string; page?: number; } | Optional: onRamp hint for non-EVM chains |
_opts.onRamp? | string | - |
_opts.page? | number | - |
Returns
Promise<CCIPRequest<CCIPVersion>>
CCIPRequest with metadata populated from API
Remarks
Uses the CCIP API to retrieve message details. The returned request includes
a metadata field with API-specific information.
Example
const request = await chain.getMessageById(messageId)
console.log(`Sender: ${request.message.sender}`)
if (request.metadata) {
console.log(`Status: ${request.metadata.status}`)
if (request.metadata.deliveryTime) {
console.log(`Delivered in ${request.metadata.deliveryTime}ms`)
}
}
Throws
CCIPApiClientNotAvailableError if API disabled
Throws
CCIPMessageIdNotFoundError if message not found
Throws
CCIPOnRampRequiredError if onRamp is required but not provided
Throws
CCIPHttpError if API request fails
Inherited from
getMessagesInBatch()
getMessagesInBatch<
R>(request:R,range:Pick<CommitReport,"minSeqNr"|"maxSeqNr">,opts?: {page?:number; }):Promise<R["message"][]>
Defined in: aptos/index.ts:243
Fetches all CCIP messages contained in a given commit batch. To be implemented for chains supporting CCIPVersion <= v1.6.0
Type Parameters
| Type Parameter | Description |
|---|---|
R extends { lane: Lane<CCIPVersion>; log: { } & { } & { }; message: { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; }; } |
Parameters
| Parameter | Type | Description |
|---|---|---|
request | R | CCIPRequest to fetch batch for |
range | Pick<CommitReport, "minSeqNr" | "maxSeqNr"> | batch range { minSeqnr, maxSeqNr }, e.g. from [[CommitReport]] |
opts? | { page?: number; } | Optional parameters (e.g., page for pagination width) |
opts.page? | number | - |
Returns
Promise<R["message"][]>
Array of messages in the batch
Overrides
getMessagesInTx()
getMessagesInTx(
tx:string|ChainTransaction):Promise<CCIPRequest<CCIPVersion>[]>
Defined in: chain.ts:525
Fetch all CCIP requests in a transaction.
Parameters
| Parameter | Type | Description |
|---|---|---|
tx | string | ChainTransaction | ChainTransaction or txHash to fetch requests from |
Returns
Promise<CCIPRequest<CCIPVersion>[]>
Promise resolving to CCIP messages in the transaction (at least one)
Throws
CCIPTransactionNotFoundError if transaction does not exist
Throws
CCIPMessageNotFoundInTxError if no CCIPSendRequested events in tx
Example
const chain = await EVMChain.fromUrl('https://eth-mainnet.example.com')
const requests = await chain.getMessagesInTx('0xabc123...')
for (const req of requests) {
console.log(`Message ID: ${req.message.messageId}`)
}
Inherited from
getNativeTokenForRouter()
getNativeTokenForRouter(
_router:string):Promise<string>
Defined in: aptos/index.ts:279
Get the native token address for a Router.
Parameters
| Parameter | Type | Description |
|---|---|---|
_router | string | Router contract address |
Returns
Promise<string>
Promise resolving to native token address (usually wrapped)
Overrides
getOffchainTokenData()
getOffchainTokenData(
request: {message: {ccipReceiveGasLimit:number;ccvAndExecutorHash:string;data:string;destBlob:string;destChainSelector:bigint;encodedMessage:string;executionGasLimit:number;feeToken:string;feeTokenAmount:bigint;finality:number;messageId:string;messageNumber:bigint;offRampAddress:string;onRampAddress:string;receipts: readonly {destBytesOverhead:bigint;destGasLimit:bigint;extraArgs:string;feeTokenAmount:bigint;issuer:string; }[];receiver:string;sender:string;sequenceNumber:bigint;sourceChainSelector:bigint;tokenAmountBeforeTokenPoolFees:bigint;tokenAmounts: readonlyTokenTransferV1[];verifierBlobs: readonlystring[]; } | {data:string;feeToken:string;feeTokenAmount:bigint;gasLimit:bigint;messageId:string;nonce:bigint;receiver:string;sender:string;sequenceNumber:bigint;sourceChainSelector:bigint;sourceTokenData: readonlystring[];strict:boolean;tokenAmounts: readonly {amount:bigint;token:string; }[]; } |CCIPMessage_V1_5_EVM|CCIPMessage_V1_6_EVM|CCIPMessage_V1_6_Solana|CCIPMessage_V1_6_Sui;tx: {hash:string; }; }):Promise<OffchainTokenData[]>
Defined in: chain.ts:926
Fetch supported offchain token data for a request from this network. It logs but doesn't throw in case it can't fetch attestation, as the transfers may not be from the expected attestation providers. It returns default offchainData=undefined for those.
Parameters
| Parameter | Type | Description |
|---|---|---|
request | { message: { ccipReceiveGasLimit: number; ccvAndExecutorHash: string; data: string; destBlob: string; destChainSelector: bigint; encodedMessage: string; executionGasLimit: number; feeToken: string; feeTokenAmount: bigint; finality: number; messageId: string; messageNumber: bigint; offRampAddress: string; onRampAddress: string; receipts: readonly { destBytesOverhead: bigint; destGasLimit: bigint; extraArgs: string; feeTokenAmount: bigint; issuer: string; }[]; receiver: string; sender: string; sequenceNumber: bigint; sourceChainSelector: bigint; tokenAmountBeforeTokenPoolFees: bigint; tokenAmounts: readonly TokenTransferV1[]; verifierBlobs: readonly string[]; } | { data: string; feeToken: string; feeTokenAmount: bigint; gasLimit: bigint; messageId: string; nonce: bigint; receiver: string; sender: string; sequenceNumber: bigint; sourceChainSelector: bigint; sourceTokenData: readonly string[]; strict: boolean; tokenAmounts: readonly { amount: bigint; token: string; }[]; } | CCIPMessage_V1_5_EVM | CCIPMessage_V1_6_EVM | CCIPMessage_V1_6_Solana | CCIPMessage_V1_6_Sui; tx: { hash: string; }; } | CCIP request, with tx.hash and message |
request.message | { ccipReceiveGasLimit: number; ccvAndExecutorHash: string; data: string; destBlob: string; destChainSelector: bigint; encodedMessage: string; executionGasLimit: number; feeToken: string; feeTokenAmount: bigint; finality: number; messageId: string; messageNumber: bigint; offRampAddress: string; onRampAddress: string; receipts: readonly { destBytesOverhead: bigint; destGasLimit: bigint; extraArgs: string; feeTokenAmount: bigint; issuer: string; }[]; receiver: string; sender: string; sequenceNumber: bigint; sourceChainSelector: bigint; tokenAmountBeforeTokenPoolFees: bigint; tokenAmounts: readonly TokenTransferV1[]; verifierBlobs: readonly string[]; } | { data: string; feeToken: string; feeTokenAmount: bigint; gasLimit: bigint; messageId: string; nonce: bigint; receiver: string; sender: string; sequenceNumber: bigint; sourceChainSelector: bigint; sourceTokenData: readonly string[]; strict: boolean; tokenAmounts: readonly { amount: bigint; token: string; }[]; } | CCIPMessage_V1_5_EVM | CCIPMessage_V1_6_EVM | CCIPMessage_V1_6_Solana | CCIPMessage_V1_6_Sui | - |
request.tx | { hash: string; } | Transaction that emitted the request. |
request.tx.hash | string | Transaction hash. |
Returns
Promise<OffchainTokenData[]>
Promise resolving to array with one offchain token data for each token transfer
Example
const offchainData = await source.getOffchainTokenData(request)
// Use in execution report
Inherited from
getOffRampsForRouter()
getOffRampsForRouter(
router:string,_sourceChainSelector:bigint):Promise<string[]>
Defined in: aptos/index.ts:284
Fetch the OffRamps allowlisted in a Router. Used to discover OffRamp connected to an OnRamp.
Parameters
| Parameter | Type | Description |
|---|---|---|
router | string | Router contract address |
_sourceChainSelector | bigint | Source chain selector |
Returns
Promise<string[]>
Promise resolving to array of OffRamp addresses
Overrides
getOnRampForRouter()
getOnRampForRouter(
router:string,_destChainSelector:bigint):Promise<string>
Defined in: aptos/index.ts:289
Fetch the OnRamp registered in a Router for a destination chain.
Parameters
| Parameter | Type | Description |
|---|---|---|
router | string | Router contract address |
_destChainSelector | bigint | Destination chain selector |
Returns
Promise<string>
Promise resolving to OnRamp address
Overrides
getOnRampsForOffRamp()
getOnRampsForOffRamp(
offRamp:string,sourceChainSelector:bigint):Promise<string[]>
Defined in: aptos/index.ts:294
Fetch the OnRamps addresses set in OffRamp config. Used to discover OffRamp connected to an OnRamp.
Parameters
| Parameter | Type | Description |
|---|---|---|
offRamp | string | OffRamp contract address |
sourceChainSelector | bigint | Source chain selector |
Returns
Promise<string[]>
Promise resolving to OnRamps addresses
Overrides
getRegistryTokenConfig()
getRegistryTokenConfig(
registry:string,token:string):Promise<{administrator:string;pendingAdministrator?:string;tokenPool?:string; }>
Defined in: aptos/index.ts:657
Fetch token configuration from a TokenAdminRegistry.
Parameters
| Parameter | Type | Description |
|---|---|---|
registry | string | TokenAdminRegistry contract address. |
token | string | Token address to query. |
Returns
Promise<{ administrator: string; pendingAdministrator?: string; tokenPool?: string; }>
RegistryTokenConfig containing administrator and pool information.
Remarks
The TokenAdminRegistry is a contract that tracks token administrators and their associated pools. Each token has an administrator who can update pool configurations.
Throws
CCIPAptosTokenNotRegisteredError if token is not registered
Overrides
getRouterForOffRamp()
getRouterForOffRamp(
offRamp:string,_sourceChainSelector:bigint):Promise<string>
Defined in: aptos/index.ts:274
Fetch the Router address set in OffRamp config.
Parameters
| Parameter | Type | Description |
|---|---|---|
offRamp | string | OffRamp contract address |
_sourceChainSelector | bigint | Source chain selector |
Returns
Promise<string>
Promise resolving to Router address
Overrides
getRouterForOnRamp()
getRouterForOnRamp(
onRamp:string,_destChainSelector:bigint):Promise<string>
Defined in: aptos/index.ts:268
Fetch the Router address set in OnRamp config. Used to discover OffRamp connected to OnRamp.
Parameters
| Parameter | Type | Description |
|---|---|---|
onRamp | string | OnRamp contract address |
_destChainSelector | bigint | Destination chain selector |
Returns
Promise<string>
Promise resolving to Router address
Overrides
getSupportedTokens()
getSupportedTokens(
address:string,opts?: {page?:number; }):Promise<string[]>
Defined in: aptos/index.ts:635
List tokens supported by given TokenAdminRegistry contract.
Parameters
| Parameter | Type | Description |
|---|---|---|
address | string | Usually TokenAdminRegistry, but chain may support receiving Router, OnRamp, etc. |
opts? | { page?: number; } | Optional parameters (e.g., page for pagination range) |
opts.page? | number | - |
Returns
Promise<string[]>
Promise resolving to array of supported token addresses
Overrides
getTokenAdminRegistryFor()
getTokenAdminRegistryFor(
address:string):Promise<string>
Defined in: aptos/index.ts:342
Fetch TokenAdminRegistry configured in a given OnRamp, Router, etc. Needed to map a source token to its dest counterparts.
Parameters
| Parameter | Type | Description |
|---|---|---|
address | string | Contract address (OnRamp, Router, etc.) |
Returns
Promise<string>
Promise resolving to TokenAdminRegistry address
Throws
CCIPAptosRegistryTypeInvalidError if registry type is invalid
Overrides
Chain.getTokenAdminRegistryFor
getTokenForTokenPool()
getTokenForTokenPool(
tokenPool:string):Promise<string>
Defined in: aptos/index.ts:306
Fetch the TokenPool's token/mint.
Parameters
| Parameter | Type | Description |
|---|---|---|
tokenPool | string | TokenPool address |
Returns
Promise<string>
Promise resolving to token or mint address
Overrides
getTokenPoolConfig()
getTokenPoolConfig(
tokenPool:string):Promise<{router:string;token:string;typeAndVersion?:string; }>
Defined in: aptos/index.ts:683
Fetch configuration of a token pool.
Parameters
| Parameter | Type | Description |
|---|---|---|
tokenPool | string | Token pool contract address. |
Returns
Promise<{ router: string; token: string; typeAndVersion?: string; }>
TokenPoolConfig containing token, router, and version info.
Remarks
Return type varies by chain:
- EVM:
typeAndVersionis always present (required) - Solana: Includes extra
tokenPoolProgramfield - Aptos: Standard fields only
- Sui/TON: Throws CCIPNotImplementedError
Overrides
getTokenPoolRemote()
getTokenPoolRemote(
tokenPool:string,remoteChainSelector:bigint):Promise<TokenPoolRemote>
Defined in: chain.ts:1271
Fetch remote chain configuration for a token pool for a specific destination.
Parameters
| Parameter | Type | Description |
|---|---|---|
tokenPool | string | Token pool address on the current chain. |
remoteChainSelector | bigint | Chain selector of the desired remote chain. |
Returns
Promise<TokenPoolRemote>
TokenPoolRemote config for the specified remote chain.
Remarks
Convenience wrapper around getTokenPoolRemotes that returns a single configuration instead of a Record. Use this when you need configuration for a specific destination chain.
Example
const arbitrumSelector = 4949039107694359620n
const remote = await chain.getTokenPoolRemote(poolAddress, arbitrumSelector)
console.log(`Remote token: ${remote.remoteToken}`)
console.log(`Remote pools: ${remote.remotePools.join(', ')}`)
Throws
CCIPTokenPoolChainConfigNotFoundError if no configuration found for the specified remote chain.
Inherited from
getTokenPoolRemotes()
getTokenPoolRemotes(
tokenPool:string,remoteChainSelector?:bigint):Promise<Record<string,TokenPoolRemote>>
Defined in: aptos/index.ts:722
Fetch remote chain configurations for a token pool.
Parameters
| Parameter | Type | Description |
|---|---|---|
tokenPool | string | Token pool address on the current chain. |
remoteChainSelector? | bigint | Optional chain selector to filter results to a single destination. |
Returns
Promise<Record<string, TokenPoolRemote>>
Record where keys are chain names (e.g., "ethereum-mainnet") and values are TokenPoolRemote configs.
Remarks
A token pool maintains configurations for each destination chain it supports. The returned Record maps chain names to their respective configurations.
Overrides
getTransaction()
getTransaction(
hashOrVersion:string|number):Promise<ChainTransaction>
Defined in: aptos/index.ts:208
Fetch a transaction by its hash.
Parameters
| Parameter | Type | Description |
|---|---|---|
hashOrVersion | string | number | Transaction hash |
Returns
Promise<ChainTransaction>
Promise resolving to generic transaction details
Throws
CCIPAptosTransactionInvalidError if hash/version format is invalid
Throws
CCIPAptosTransactionTypeInvalidError if transaction is not a user transaction
Overrides
getVerifications()
getVerifications(
opts: {offRamp:string;request: {lane:Lane<CCIPVersion>;message: {sequenceNumber:bigint; } | {sequenceNumber:bigint; } | {sequenceNumber:bigint; } | {sequenceNumber:bigint; } | {sequenceNumber:bigint; } | {sequenceNumber:bigint; } & {messageId:string; } | {messageId:string; } | {messageId:string; } | {messageId:string; } | {messageId:string; } | {messageId:string; };tx: {timestamp:number; }; }; } &Pick<LogFilter,"startBlock"|"watch"|"page">):Promise<CCIPVerifications>
Defined in: chain.ts:998
Look for a CommitReport at dest for given CCIP request. May be specialized by some subclasses.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | { offRamp: string; request: { lane: Lane<CCIPVersion>; message: { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } | { sequenceNumber: bigint; } & { messageId: string; } | { messageId: string; } | { messageId: string; } | { messageId: string; } | { messageId: string; } | { messageId: string; }; tx: { timestamp: number; }; }; } & Pick<LogFilter, "startBlock" | "watch" | "page"> | getVerifications options |
Returns
Promise<CCIPVerifications>
CCIPVerifications
Throws
CCIPCommitNotFoundError if no commit found for the request (transient)
Example
const verifications = await dest.getVerifications({
offRamp: offRampAddress,
request,
})
console.log(`Committed at block: ${verifications.log.blockNumber}`)
Inherited from
sendMessage()
sendMessage(
opts:SendMessageOpts& {wallet:unknown; }):Promise<CCIPRequest<CCIPVersion>>
Defined in: aptos/index.ts:527
Send a CCIP message through a router using provided wallet.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | SendMessageOpts & { wallet: unknown; } | SendMessageOpts with chain-specific wallet for signing |
Returns
Promise<CCIPRequest<CCIPVersion>>
Promise resolving to CCIP request with message details
Throws
CCIPAptosWalletInvalidError if wallet is not a valid Aptos account
Overrides
typeAndVersion()
typeAndVersion(
address:string):Promise<[string,string,string,string]>
Defined in: aptos/index.ts:257
Fetch typeAndVersion for a given CCIP contract address.
Parameters
| Parameter | Type | Description |
|---|---|---|
address | string | CCIP contract address |
Returns
Promise<[string, string, string, string]>
Promise resolving to tuple:
type- Parsed type of the contract, e.g.OnRampversion- Parsed version of the contract, e.g.1.6.0typeAndVersion- Original (unparsed) typeAndVersion() stringsuffix- Suffix of the version, if any (e.g.-dev)
Overrides
waitFinalized()
waitFinalized(
opts: {cancel$?:Promise<unknown>;finality?:number|"finalized";request: {log: { } & { } & { } & { } & {tx?: {timestamp:number; }; };tx?: {timestamp:number; }; }; }):Promise<true>
Defined in: chain.ts:441
Confirm a log tx is finalized or wait for it to be finalized.
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | { cancel$?: Promise<unknown>; finality?: number | "finalized"; request: { log: { } & { } & { } & { } & { tx?: { timestamp: number; }; }; tx?: { timestamp: number; }; }; } | Options containing the request, finality level, and optional cancel promise |
opts.cancel$? | Promise<unknown> | - |
opts.finality? | number | "finalized" | - |
opts.request | { log: { } & { } & { } & { } & { tx?: { timestamp: number; }; }; tx?: { timestamp: number; }; } | - |
opts.request.log | { } & { } & { } & { } & { tx?: { timestamp: number; }; } | - |
opts.request.tx? | { timestamp: number; } | Transaction that emitted the request. |
opts.request.tx.timestamp | number | Unix timestamp of the block. |
Returns
Promise<true>
true when the transaction is finalized
Throws
CCIPTransactionNotFinalizedError if the transaction is not included (e.g., due to a reorg)
Example
const request = await source.getMessagesInTx(txHash)
try {
await source.waitFinalized({ request: request[0] })
console.log('Transaction finalized')
} catch (err) {
if (err instanceof CCIPTransactionNotFinalizedError) {
console.log('Transaction not yet finalized')
}
}
Inherited from
buildMessageForDest()
staticbuildMessageForDest(message:MessageInput):AnyMessage
Defined in: chain.ts:1307
Returns a copy of a message, populating missing fields like extraArgs with defaults.
It's expected to return a message suitable at least for basic token transfers.
Parameters
| Parameter | Type | Description |
|---|---|---|
message | MessageInput | AnyMessage (from source), containing at least receiver |
Returns
AnyMessage
A message suitable for sendMessage to this destination chain family
Inherited from
Chain.buildMessageForDest
decodeCommits()
staticdecodeCommits(log:Pick<ChainLog,"data">,lane?:Lane<CCIPVersion>): {maxSeqNr:bigint;merkleRoot:string;minSeqNr:bigint;onRampAddress:string;sourceChainSelector:bigint; }[] |undefined
Defined in: aptos/index.ts:417
Decodes commit reports from an Aptos log event.
Parameters
| Parameter | Type | Description |
|---|---|---|
log | Pick<ChainLog, "data"> | Log with data field. |
lane? | Lane<CCIPVersion> | Lane info for filtering. |
Returns
{ maxSeqNr: bigint; merkleRoot: string; minSeqNr: bigint; onRampAddress: string; sourceChainSelector: bigint; }[] | undefined
Array of CommitReport or undefined if not valid.
Throws
CCIPAptosLogInvalidError if log data format is invalid
decodeExtraArgs()
staticdecodeExtraArgs(extraArgs:BytesLike):EVMExtraArgsV1& {allowOutOfOrderExecution:boolean; } & {_tag:"EVMExtraArgsV2"; } |SVMExtraArgsV1& {_tag:"SVMExtraArgsV1"; } |undefined
Defined in: aptos/index.ts:379
Decodes extra arguments from Aptos CCIP messages.
Parameters
| Parameter | Type | Description |
|---|---|---|
extraArgs | BytesLike | Encoded extra arguments bytes. |
Returns
EVMExtraArgsV1 & { allowOutOfOrderExecution: boolean; } & { _tag: "EVMExtraArgsV2"; }
SVMExtraArgsV1 & { _tag: "SVMExtraArgsV1"; }
undefined
Decoded extra arguments or undefined if unknown format.
decodeMessage()
staticdecodeMessage(log: {data:Record<string,unknown> |BytesLike; }):CCIPMessage|undefined
Defined in: aptos/index.ts:357
Decodes a CCIP message from an Aptos log event.
Parameters
| Parameter | Type | Description |
|---|---|---|
log | { data: Record<string, unknown> | BytesLike; } | Log with data field. |
log.data | Record<string, unknown> | BytesLike | - |
Returns
CCIPMessage | undefined
Decoded CCIPMessage or undefined if not valid.
Throws
CCIPAptosLogInvalidError if log data format is invalid
decodeReceipt()
staticdecodeReceipt(log:Pick<ChainLog,"data">):ExecutionReceipt|undefined
Defined in: aptos/index.ts:451
Decodes an execution receipt from an Aptos log event.
Parameters
| Parameter | Type | Description |
|---|---|---|
log | Pick<ChainLog, "data"> | Log with data field. |
Returns
ExecutionReceipt | undefined
ExecutionReceipt or undefined if not valid.
Throws
CCIPAptosLogInvalidError if log data format is invalid
encodeExtraArgs()
staticencodeExtraArgs(extraArgs:ExtraArgs):string
Defined in: aptos/index.ts:394
Encodes extra arguments for Aptos CCIP messages.
Parameters
| Parameter | Type | Description |
|---|---|---|
extraArgs | ExtraArgs | Extra arguments to encode. |
Returns
string
Encoded extra arguments as hex string.
Throws
CCIPAptosExtraArgsEncodingError if extra args format is not supported
fromAptosConfig()
staticfromAptosConfig(config:AptosConfig,ctx?:WithLogger):Promise<AptosChain>
Defined in: aptos/index.ts:166
Creates an AptosChain instance from an Aptos configuration.
Parameters
| Parameter | Type | Description |
|---|---|---|
config | AptosConfig | Aptos configuration object. |
ctx? | WithLogger | context containing logger. |
Returns
Promise<AptosChain>
A new AptosChain instance.
fromProvider()
staticfromProvider(provider:Aptos,ctx?:WithLogger):Promise<AptosChain>
Defined in: aptos/index.ts:156
Creates an AptosChain instance from an existing Aptos provider.
Parameters
| Parameter | Type | Description |
|---|---|---|
provider | Aptos | Aptos SDK provider instance. |
ctx? | WithLogger | context containing logger. |
Returns
Promise<AptosChain>
A new AptosChain instance.
fromUrl()
staticfromUrl(url:string| readonly [string,Network],ctx?:ChainContext):Promise<AptosChain>
Defined in: aptos/index.ts:178
Creates an AptosChain instance from a URL or network identifier.
Parameters
| Parameter | Type | Description |
|---|---|---|
url | string | readonly [string, Network] | RPC URL, Aptos Network enum value or [fullNodeUrl, Network] tuple. |
ctx? | ChainContext | context containing logger |
Returns
Promise<AptosChain>
A new AptosChain instance.
Throws
CCIPAptosNetworkUnknownError if network cannot be determined from URL
getAddress()
staticgetAddress(bytes:BytesLike| readonlynumber[]):string
Defined in: aptos/index.ts:466
Converts bytes to an Aptos address.
Parameters
| Parameter | Type | Description |
|---|---|---|
bytes | BytesLike | readonly number[] | Bytes to convert. |
Returns
string
Aptos address (0x-prefixed hex, 32 bytes padded).
Throws
CCIPDataFormatUnsupportedError if bytes length exceeds 32
getDestLeafHasher()
staticgetDestLeafHasher(lane:Lane,_ctx?:WithLogger):LeafHasher
Defined in: aptos/index.ts:482
Gets the leaf hasher for Aptos destination chains.
Parameters
| Parameter | Type | Description |
|---|---|---|
lane | Lane | Lane configuration. |
_ctx? | WithLogger | - |
Returns
LeafHasher
Leaf hasher function.
isTxHash()
staticisTxHash(v:unknown):v is `0x${string}`
Defined in: aptos/index.ts:473
Validates a transaction hash format for Aptos
Parameters
| Parameter | Type |
|---|---|
v | unknown |
Returns
v is `0x${string}`
parse()
staticparse(data:unknown):EVMExtraArgsV1& {allowOutOfOrderExecution:boolean; } & {_tag:"EVMExtraArgsV2"; } |SVMExtraArgsV1& {_tag:"SVMExtraArgsV1"; } |undefined
Defined in: aptos/index.ts:623
Parses raw Aptos data into typed structures.
Parameters
| Parameter | Type | Description |
|---|---|---|
data | unknown | Raw data to parse. |
Returns
EVMExtraArgsV1 & { allowOutOfOrderExecution: boolean; } & { _tag: "EVMExtraArgsV2"; }
SVMExtraArgsV1 & { _tag: "SVMExtraArgsV1"; }
undefined
Parsed data or undefined.