[ { "inputs": [ { "internalType": "uint32", "name": "_remoteDomain", "type": "uint32" }, { "internalType": "address[]", "name": "_validators", "type": "address[]" }, { "internalType": "uint256", "name": "_threshold", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "validator", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "validatorCount", "type": "uint256" } ], "name": "EnrollValidator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "threshold", "type": "uint256" } ], "name": "SetThreshold", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "validator", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "validatorCount", "type": "uint256" } ], "name": "UnenrollValidator", "type": "event" }, { "inputs": [], "name": "domain", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "domainHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_validator", "type": "address" } ], "name": "enrollValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_root", "type": "bytes32" }, { "internalType": "uint256", "name": "_index", "type": "uint256" }, { "internalType": "bytes[]", "name": "_signatures", "type": "bytes[]" } ], "name": "isQuorum", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_validator", "type": "address" } ], "name": "isValidator", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IInbox", "name": "_inbox", "type": "address" }, { "internalType": "bytes32", "name": "_root", "type": "bytes32" }, { "internalType": "uint256", "name": "_index", "type": "uint256" }, { "internalType": "bytes[]", "name": "_signatures", "type": "bytes[]" }, { "internalType": "bytes", "name": "_message", "type": "bytes" }, { "internalType": "bytes32[32]", "name": "_proof", "type": "bytes32[32]" }, { "internalType": "uint256", "name": "_leafIndex", "type": "uint256" } ], "name": "process", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_threshold", "type": "uint256" } ], "name": "setThreshold", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "threshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_validator", "type": "address" } ], "name": "unenrollValidator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "validatorCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "validators", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" } ]