CCIPLocalSimulator v0.2.6 API Reference
CCIPLocalSimulator
Local CCIP simulator (no-fork mode).
Variables
CHAIN_SELECTOR
uint64 CHAIN_SELECTOR
The unique CCIP Chain Selector constant
i_ccipBnM
contract BurnMintERC677Helper i_ccipBnM
The BurnMintERC677Helper instance for CCIP-BnM token
i_ccipLnM
contract BurnMintERC677Helper i_ccipLnM
The BurnMintERC677Helper instance for CCIP-LnM token
i_linkToken
contract LinkToken i_linkToken
The LINK token instance
i_mockRouter
contract MockCCIPRouter i_mockRouter
The mock CCIP router instance
i_wrappedNative
contract WETH9 i_wrappedNative
The wrapped native token instance
s_supportedTokens
address[] s_supportedTokens
The list of supported token addresses
Errors
CCIPLocalSimulator__MsgSenderIsNotTokenOwner
error CCIPLocalSimulator__MsgSenderIsNotTokenOwner()
CCIPLocalSimulator__RequiredRoleNotFound
error CCIPLocalSimulator__RequiredRoleNotFound(address account, bytes32 role, address token)
Functions
configuration
function configuration() public view returns (uint64 chainSelector_, contract IRouterClient sourceRouter_, contract IRouterClient destinationRouter_, contract WETH9 wrappedNative_, contract LinkToken linkToken_, contract BurnMintERC677Helper ccipBnM_, contract BurnMintERC677Helper ccipLnM_)
Returns configuration details for pre-deployed contracts and services needed for local CCIP simulations.
Returns
| Name | Type | Description |
|---|---|---|
| chainSelector_ | uint64 | - The unique CCIP Chain Selector. |
| sourceRouter_ | contract IRouterClient | - The source chain Router contract. |
| destinationRouter_ | contract IRouterClient | - The destination chain Router contract. |
| wrappedNative_ | contract WETH9 | - The wrapped native token which can be used for CCIP fees. |
| linkToken_ | contract LinkToken | - The LINK token. |
| ccipBnM_ | contract BurnMintERC677Helper | - The ccipBnM token. |
| ccipLnM_ | contract BurnMintERC677Helper | - The ccipLnM token. |
constructor
constructor() public
Constructor to initialize the contract and pre-deployed token instances
getSupportedTokens
function getSupportedTokens(uint64 chainSelector) external view returns (address[] tokens)
Gets a list of token addresses that are supported for cross-chain transfers by the simulator.
Parameters
| Name | Type | Description |
|---|---|---|
| chainSelector | uint64 | - The unique CCIP Chain Selector. |
Returns
| Name | Type | Description |
|---|---|---|
| tokens | address[] | - Returns a list of token addresses that are supported for cross-chain transfers by the simulator. |
isChainSupported
function isChainSupported(uint64 chainSelector) public pure returns (bool supported)
Checks whether the provided chainSelector is supported by the simulator.
Parameters
| Name | Type | Description |
|---|---|---|
| chainSelector | uint64 | - The unique CCIP Chain Selector. |
Returns
| Name | Type | Description |
|---|---|---|
| supported | bool | - Returns true if chainSelector is supported by the simulator. |
requestLinkFromFaucet
function requestLinkFromFaucet(address to, uint256 amount) external returns (bool success)
Requests LINK tokens from the faucet. The provided amount of tokens are transferred to provided destination address.
Parameters
| Name | Type | Description |
|---|---|---|
| to | address | - The address to which LINK tokens are to be sent. |
| amount | uint256 | - The amount of LINK tokens to send. |
Returns
| Name | Type | Description |
|---|---|---|
| success | bool | - Returns true if the transfer of tokens was successful, otherwise false. |
supportNewTokenViaAccessControlDefaultAdmin
function supportNewTokenViaAccessControlDefaultAdmin(address tokenAddress) external
Allows user to support any new token, besides CCIP BnM and CCIP LnM, for cross-chain transfers. The caller must have the DEFAULT_ADMIN_ROLE as defined by the contract itself. Reverts if the caller is not the admin of the token using OZ's AccessControl DEFAULT_ADMIN_ROLE.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenAddress | address | - The address of the token to add to the list of supported tokens. |
supportNewTokenViaGetCCIPAdmin
function supportNewTokenViaGetCCIPAdmin(address tokenAddress) external
Allows user to support any new token, besides CCIP BnM and CCIP LnM, for cross-chain transfers. Reverts if token does not implement getCCIPAdmin() function. Reverts if the caller is not the token CCIPAdmin.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenAddress | address | - The address of the token to add to the list of supported tokens. |
supportNewTokenViaOwner
function supportNewTokenViaOwner(address tokenAddress) external
Allows user to support any new token, besides CCIP BnM and CCIP LnM, for cross-chain transfers. Reverts if token does not implement owner() function. Reverts if the caller is not the token owner.
Parameters
| Name | Type | Description |
|---|---|---|
| tokenAddress | address | - The address of the token to add to the list of supported tokens. |