CCIPLocalSimulatorFork v0.2.3 API Reference
     
A contract that simulates CCIP (Cross-Chain Interoperability Protocol) message routing in a Foundry test environment.
CCIPLocalSimulatorFork
  
Interface for interacting with the CCIP Router contract in a forked environment.
struct OffRamp {
  uint64 sourceChainSelector;
  address offRamp;
}
| Field | Type | Description | 
|---|
| sourceChainSelector | uint64 | The chain selector for the source chain | 
| offRamp | address | The address of the offRamp contract | 
function getOffRamps() external view returns (OffRamp[] memory)
  
| Parameter | Type | Description | 
|---|
| (unnamed) | OffRamp[] | Array of off-ramp configurations | 
Interface for executing CCIP messages on an off-ramp contract in a forked environment.
function executeSingleMessage(
    Internal.EVM2EVMMessage memory message,
    bytes[] memory offchainTokenData,
    uint32[] memory tokenGasOverrides
) external
  
| Parameter | Type | Description | 
|---|
| message | EVM2EVMMessage | The CCIP message to be executed | 
| offchainTokenData | bytes[] | Additional off-chain token data | 
| tokenGasOverrides | uint32[] | Gas limit overrides for token transfers | 
event CCIPSendRequested(Internal.EVM2EVMMessage message)
  
| Parameter | Type | Description | 
|---|
| message | EVM2EVMMessage | The EVM2EVM message that was sent | 
Register immutable i_register
  
address constant LINK_FAUCET = 0x4281eCF07378Ee595C564a59048801330f3084eE
  
mapping(bytes32 messageId => bool isProcessed) internal s_processedMessages
  
Initializes the contract and sets up logging and persistence.
constructor()
  
Routes a cross-chain message on the destination network after switching to the specified fork.
function switchChainAndRouteMessage(uint256 forkId) external
  
| Parameter | Type | Description | 
|---|
| forkId | uint256 | The ID of the destination network fork (returned by createFork()orcreateSelectFork()) | 
Returns the network configuration details for a specified chain ID.
function getNetworkDetails(uint256 chainId) external view returns (Register.NetworkDetails memory)
  
| Parameter | Type | Description | 
|---|
| chainId | uint256 | The blockchain network chain ID (e.g., 11155111 for Ethereum Sepolia) | 
| Parameter | Type | Description | 
|---|
| (unnamed) | NetworkDetails | The network configuration details for the specified chain | 
Updates or adds new network configuration details for a specified chain ID.
function setNetworkDetails(uint256 chainId, Register.NetworkDetails memory networkDetails) external
  
| Parameter | Type | Description | 
|---|
| chainId | uint256 | The blockchain network chain ID (e.g., 11155111 for Ethereum Sepolia) | 
| networkDetails | NetworkDetails | The network configuration details to be stored | 
Requests LINK tokens from the faucet for a specified address.
function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success)
  
| Parameter | Type | Description | 
|---|
| to | address | The address to receive the LINK tokens | 
| amount | uint256 | The amount of LINK tokens to transfer | 
| Parameter | Type | Description | 
|---|
| success | bool | Returns true if the token transfer was successful |