IRouterClient API Reference
On this page
Add Chainlink CCIP to your project
If you need to integrate Chainlink CCIP into your project, install the @chainlink/contracts-ccip NPM package .
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) ;
}
Errors
UnsupportedDestinationChain
error UnsupportedDestinationChain ( uint64 destChainSelector)
InsufficientFeeTokenAmount
error InsufficientFeeTokenAmount ( )
InvalidMsgValue
error InvalidMsgValue ( )
Functions
isChainSupported
function isChainSupported ( uint64 chainSelector) external view returns ( bool supported)
Checks if the given chain ID is supported for sending/receiving.
Parameters
Name Type Description chainSelector uint64 The chain to check.
Return Values
Name Type Description supported bool is true if supported or false if not.
getSupportedTokens
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.
Parameters
Name Type Description chainSelector uint64 The chainSelector.
Return Values
Name Type Description tokens address[] The addresses of all supported tokens.
getFee
function getFee ( uint64 destinationChainSelector, struct Client . EVM2AnyMessage message) external view returns ( uint256 fee)
returns 0 fees on invalid message.
Parameters
Name Type Description destinationChainSelector uint64 The destination chainSelector message struct Client.EVM2AnyMessage The cross-chain CCIP message, including data and/or tokens
Return Values
Name Type Description fee uint256 returns guaranteed execution fee for the specified message delivery to the destination chain
ccipSend
function ccipSend ( uint64 destinationChainSelector, struct Client . EVM2AnyMessage message) external payable returns ( bytes32 )
Request a message to be sent to the destination chain.
caution
If the msg.value exceeds the required fee from getFee, the over overpayment is accepted with no refund.
Parameters
Name Type Description destinationChainSelector uint64 The destination chain ID message struct Client.EVM2AnyMessage The cross-chain CCIP message, including data and/or tokens
Return Values
Name Type Description [0] bytes32 messageId The message ID
More