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-ccip/contracts 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