CCIP v1.5.1 IRouterClient API Reference
     
To send messages through CCIP, users must interact with the IRouterClient interface.
After you import IRouterClient.sol, you can initialize a router client instance:
import {IRouterClient} from "@chainlink/contracts-ccip/src/v0.8/ccip/interfaces/IRouterClient.sol";
...
IRouterClient router;
constructor(address _router) {
     router = IRouterClient(_router);
 }
error UnsupportedDestinationChain(uint64 destChainSelector)
error InsufficientFeeTokenAmount()
error InvalidMsgValue()
function isChainSupported(uint64 destChainSelector) external view returns (bool supported)
Checks if the given chain ID is supported for sending/receiving.
| Name | Type | Description | 
|---|
| destChainSelector | uint64 | The chain to check. | 
| Name | Type | Description | 
|---|
| supported | bool | returns true if it is supported, false if not. | 
function getFee(uint64 destinationChainSelector, struct Client.EVM2AnyMessage message) external view returns (uint256 fee)
| Name | Type | Description | 
|---|
| destinationChainSelector | uint64 | The destination chainSelector | 
| message | struct Client.EVM2AnyMessage | The cross-chain CCIP message including data and/or tokens | 
| Name | Type | Description | 
|---|
| fee | uint256 | returns guaranteed execution fee for the specified message delivery to the destination chain | 
function ccipSend(uint64 destinationChainSelector, struct Client.EVM2AnyMessage message) external payable returns (bytes32)
Request a message to be sent to the destination chain.
  
| Name | Type | Description | 
|---|
| destinationChainSelector | uint64 | The destination chain ID | 
| message | struct Client.EVM2AnyMessage | The cross-chain CCIP message, including data and/or tokens | 
| Name | Type | Description | 
|---|
| [0] | bytes32 | messageId The message ID |