Function: getMessagesInRange()
getMessagesInRange(
source:Chain,opts:LogFilter):AsyncIterableIterator<CCIPRequest<CCIPVersion>>
Defined in: requests.ts:441
Discover and decode CCIP messages within a block/slot/checkpoint range.
This is the range-scanning equivalent of getMessagesInTx. It composes Chain.getLogs and ChainStatic.decodeMessage to yield CCIP requests in discovery order without requiring transaction hashes upfront.
Results are yielded in native log order: (blockNumber, logIndex) ascending for EVM, slot order for Solana. Non-CCIP logs in the range are silently skipped.
Parameters
| Parameter | Type | Description |
|---|---|---|
source | Chain | Source chain to scan logs from |
opts | LogFilter | LogFilter options. Key fields: - startBlock / endBlock — block/slot range (endBlock supports 'finalized' and 'latest') - address — onRamp/router address (optional on EVM, required on Solana) - topics — defaults to both CCIP message event names - page — batch size for log pagination |
Returns
AsyncIterableIterator<CCIPRequest<CCIPVersion>>
Async iterator of CCIPRequest objects in native log order
Throws
CCIPChainFamilyUnsupportedError if a pre-v1.6 message is found on a non-EVM chain
Throws
CCIPLogsAddressRequiredError on Solana if address is not provided
Examples
const chain = await EVMChain.fromUrl('https://rpc.sepolia.org')
for await (const request of getMessagesInRange(chain, {
startBlock: 1000000,
endBlock: 1001000,
address: '0xOnRampAddress...', // optional on EVM, but recommended for public RPCs
})) {
console.log(`seqNr=${request.message.sequenceNumber} dest=${request.lane.destChainSelector}`)
}
const chain = await SolanaChain.fromUrl('https://api.devnet.solana.com')
for await (const request of getMessagesInRange(chain, {
startBlock: 450000000,
endBlock: 450100000,
address: 'Ccip842gzYHh...', // router program address (required on Solana)
})) {
console.log(`seqNr=${request.message.sequenceNumber}`)
}
See
- getMessagesInTx - Per-transaction message discovery
- getMessagesInBatch - Batch discovery by sequence number range