IRouterClient API Reference
To send messages through CCIP, users must interact with the []IRouterClient
](https://github.com/smartcontractkit/ccip/tree/release/contracts-ccip-1.5.0/contracts/src/v0.8/ccip/interfaces/IRouterClient.sol) 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 chainSelector) external view returns (bool supported)
Checks if the given chain ID is supported for sending/receiving.
Name | Type | Description |
---|
chainSelector | uint64 | The chain to check. |
Name | Type | Description |
---|
supported | bool | is true if supported or false if not. |
function getSupportedTokens(uint64 chainSelector) external view returns (address[] tokens)
Gets a list of all supported tokens which can be sent or received
to or from a given chain ID.
Name | Type | Description |
---|
chainSelector | uint64 | The chainSelector. |
Name | Type | Description |
---|
tokens | address[] | The addresses of all supported tokens. |
function getFee(uint64 destinationChainSelector, struct Client.EVM2AnyMessage message) external view returns (uint256 fee)
returns 0 fees on invalid message.
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 |