CCIPLocalSimulatorFork v0.2.1 API Reference
CCIPLocalSimulatorFork
CCIPLocalSimulatorFork provides utilities for simulating Cross-Chain Interoperability Protocol (CCIP) operations in a forked environment. It enables testing of cross-chain messaging and token transfers within a Hardhat project.
Types
EVM2EVMMessage
An object representing a cross-chain message with the following structure:
| Property | Type | Description | 
|---|---|---|
| sourceChainSelector | bigint | The chain selector of the source chain | 
| sender | string | The address of the message sender | 
| receiver | string | The address of the message receiver | 
| sequenceNumber | bigint | Message sequence number | 
| gasLimit | bigint | Gas limit for message execution | 
| strict | boolean | Whether strict mode is enabled | 
| nonce | bigint | Message nonce | 
| feeToken | string | Address of the token used for fees | 
| feeTokenAmount | bigint | Amount of fee token | 
| data | string | Message payload data | 
| tokenAmounts | Array<{token: string, amount: bigint}> | Array of token transfers | 
| sourceTokenData | Array<string> | Source token metadata | 
| messageId | string | Unique message identifier | 
Functions
requestLinkFromTheFaucet
Requests LINK tokens from a faucet contract for testing purposes.
| Parameter | Type | Description | 
|---|---|---|
| linkAddress | string | The address of the LINK contract on the current network | 
| to | string | The address to receive the LINK tokens | 
| amount | bigint | The amount of LINK tokens to request | 
Returns: Promise<string> - The transaction hash of the fund transfer
getEvm2EvmMessage
Parses a transaction receipt to extract CCIP message details from the CCIPSendRequested event.
| Parameter | Type | Description | 
|---|---|---|
| receipt | object | The transaction receipt from the ccipSendcall | 
Returns: object | null - The parsed EVM2EVMMessage object or null if no valid message is found
routeMessage
Routes a sent message from the source network to the destination network in the forked environment.
| Parameter | Type | Description | 
|---|---|---|
| routerAddress | string | Address of the destination Router contract | 
| evm2EvmMessage | object | The cross-chain message to be routed | 
Returns: Promise<void> - Resolves when the message is successfully routed