CCIP v2.0.0 IRMN API Reference
Summary
IRMN contains the only RMN-related functions used on-chain by other CCIP contracts.
It allows CCIP contracts to:
- Get the current set of cursed subjects.
- Check whether the system is globally cursed.
- Check whether a specific subject is cursed.
All functions are read-only.
Contract
chains/evm/contracts/interfaces/IRMN.sol
Import
import {IRMN} from "chainlink-ccip/chains/evm/contracts/interfaces/IRMN.sol";
Interface surface
interface IRMN {
getCursedSubjects
function getCursedSubjects() external view returns (bytes16[] memory subjects);
Returns the current set of cursed subjects.
isCursed()
function isCursed() external view returns (bool);
Returns true if there is an active global or legacy curse.
isCursed(bytes16)
function isCursed(
bytes16 subject
) external view returns (bool);
Returns true if:
- A global curse is active, or
- The specified subject is cursed.
}
Integration notes / expectations
- Curse checks should be performed immediately before executing sensitive operations.
- To check whether a particular chain is cursed, pass
bytes16(uint128(chainSelector))as the subject. - Both
isCursedoverloads return false immediately when no subjects are cursed at all.