[
{
"type": "constructor",
"inputs": [
{
"name": "localChainSelector",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "legacyRMN",
"type": "address",
"internalType": "contract IRMN"
}
],
"stateMutability": "nonpayable"
},
{
"name": "AlreadyCursed",
"type": "error",
"inputs": [
{
"name": "subject",
"type": "bytes16",
"internalType": "bytes16"
}
]
},
{
"name": "CannotTransferToSelf",
"type": "error",
"inputs": []
},
{
"name": "ConfigNotSet",
"type": "error",
"inputs": []
},
{
"name": "DuplicateOnchainPublicKey",
"type": "error",
"inputs": []
},
{
"name": "InvalidSignature",
"type": "error",
"inputs": []
},
{
"name": "InvalidSignerOrder",
"type": "error",
"inputs": []
},
{
"name": "IsBlessedNotAvailable",
"type": "error",
"inputs": []
},
{
"name": "MustBeProposedOwner",
"type": "error",
"inputs": []
},
{
"name": "NotCursed",
"type": "error",
"inputs": [
{
"name": "subject",
"type": "bytes16",
"internalType": "bytes16"
}
]
},
{
"name": "NotEnoughSigners",
"type": "error",
"inputs": []
},
{
"name": "OnlyCallableByOwner",
"type": "error",
"inputs": []
},
{
"name": "OutOfOrderSignatures",
"type": "error",
"inputs": []
},
{
"name": "OwnerCannotBeZero",
"type": "error",
"inputs": []
},
{
"name": "ThresholdNotMet",
"type": "error",
"inputs": []
},
{
"name": "UnexpectedSigner",
"type": "error",
"inputs": []
},
{
"name": "ZeroValueNotAllowed",
"type": "error",
"inputs": []
},
{
"name": "ConfigSet",
"type": "event",
"inputs": [
{
"name": "version",
"type": "uint32",
"indexed": true,
"internalType": "uint32"
},
{
"name": "config",
"type": "tuple",
"indexed": false,
"components": [
{
"name": "rmnHomeContractConfigDigest",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "signers",
"type": "tuple[]",
"components": [
{
"name": "onchainPublicKey",
"type": "address",
"internalType": "address"
},
{
"name": "nodeIndex",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Signer[]"
},
{
"name": "fSign",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Config"
}
],
"anonymous": false
},
{
"name": "Cursed",
"type": "event",
"inputs": [
{
"name": "subjects",
"type": "bytes16[]",
"indexed": false,
"internalType": "bytes16[]"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferRequested",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "Uncursed",
"type": "event",
"inputs": [
{
"name": "subjects",
"type": "bytes16[]",
"indexed": false,
"internalType": "bytes16[]"
}
],
"anonymous": false
},
{
"name": "acceptOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "curse",
"type": "function",
"inputs": [
{
"name": "subject",
"type": "bytes16",
"internalType": "bytes16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "curse",
"type": "function",
"inputs": [
{
"name": "subjects",
"type": "bytes16[]",
"internalType": "bytes16[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "getCursedSubjects",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "subjects",
"type": "bytes16[]",
"internalType": "bytes16[]"
}
],
"stateMutability": "view"
},
{
"name": "getLocalChainSelector",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "localChainSelector",
"type": "uint64",
"internalType": "uint64"
}
],
"stateMutability": "view"
},
{
"name": "getReportDigestHeader",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "digestHeader",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "pure"
},
{
"name": "getVersionedConfig",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "version",
"type": "uint32",
"internalType": "uint32"
},
{
"name": "config",
"type": "tuple",
"components": [
{
"name": "rmnHomeContractConfigDigest",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "signers",
"type": "tuple[]",
"components": [
{
"name": "onchainPublicKey",
"type": "address",
"internalType": "address"
},
{
"name": "nodeIndex",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Signer[]"
},
{
"name": "fSign",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Config"
}
],
"stateMutability": "view"
},
{
"name": "isBlessed",
"type": "function",
"inputs": [
{
"name": "taggedRoot",
"type": "tuple",
"components": [
{
"name": "commitStore",
"type": "address",
"internalType": "address"
},
{
"name": "root",
"type": "bytes32",
"internalType": "bytes32"
}
],
"internalType": "struct IRMN.TaggedRoot"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "isCursed",
"type": "function",
"inputs": [
{
"name": "subject",
"type": "bytes16",
"internalType": "bytes16"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "isCursed",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "setConfig",
"type": "function",
"inputs": [
{
"name": "newConfig",
"type": "tuple",
"components": [
{
"name": "rmnHomeContractConfigDigest",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "signers",
"type": "tuple[]",
"components": [
{
"name": "onchainPublicKey",
"type": "address",
"internalType": "address"
},
{
"name": "nodeIndex",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Signer[]"
},
{
"name": "fSign",
"type": "uint64",
"internalType": "uint64"
}
],
"internalType": "struct RMNRemote.Config"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "typeAndVersion",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "uncurse",
"type": "function",
"inputs": [
{
"name": "subject",
"type": "bytes16",
"internalType": "bytes16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "uncurse",
"type": "function",
"inputs": [
{
"name": "subjects",
"type": "bytes16[]",
"internalType": "bytes16[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "verify",
"type": "function",
"inputs": [
{
"name": "offRampAddress",
"type": "address",
"internalType": "address"
},
{
"name": "merkleRoots",
"type": "tuple[]",
"components": [
{
"name": "sourceChainSelector",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "onRampAddress",
"type": "bytes",
"internalType": "bytes"
},
{
"name": "minSeqNr",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "maxSeqNr",
"type": "uint64",
"internalType": "uint64"
},
{
"name": "merkleRoot",
"type": "bytes32",
"internalType": "bytes32"
}
],
"internalType": "struct Internal.MerkleRoot[]"
},
{
"name": "signatures",
"type": "tuple[]",
"components": [
{
"name": "r",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "s",
"type": "bytes32",
"internalType": "bytes32"
}
],
"internalType": "struct IRMNRemote.Signature[]"
}
],
"outputs": [],
"stateMutability": "view"
}
]