[{"type":"constructor","inputs":[{"name":"admin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"administratorCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"chainOf","inputs":[{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"tuple","internalType":"struct KeelSettlementRegistry.Chain","components":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"settlementChainId","type":"uint64","internalType":"uint64"},{"name":"stack","type":"uint8","internalType":"enum KeelSettlementRegistry.Stack"},{"name":"dataAvailability","type":"uint8","internalType":"enum KeelSettlementRegistry.DataAvailability"},{"name":"proofSystem","type":"uint8","internalType":"enum KeelSettlementRegistry.ProofSystem"},{"name":"settlementContract","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isRecorded","inputs":[{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lastAdministratorProtectionEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"lockConfiguration","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"locked","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pathToRoot","inputs":[{"name":"chainId","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"hops","type":"uint256","internalType":"uint256"},{"name":"fullyOnChain","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"recordChain","inputs":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"chain","type":"tuple","internalType":"struct KeelSettlementRegistry.Chain","components":[{"name":"exists","type":"bool","internalType":"bool"},{"name":"depth","type":"uint8","internalType":"uint8"},{"name":"settlementChainId","type":"uint64","internalType":"uint64"},{"name":"stack","type":"uint8","internalType":"enum KeelSettlementRegistry.Stack"},{"name":"dataAvailability","type":"uint8","internalType":"enum KeelSettlementRegistry.DataAvailability"},{"name":"proofSystem","type":"uint8","internalType":"enum KeelSettlementRegistry.ProofSystem"},{"name":"settlementContract","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordedChains","inputs":[],"outputs":[{"name":"","type":"uint64[]","internalType":"uint64[]"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"ChainRecorded","inputs":[{"name":"chainId","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"depth","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"stack","type":"uint8","indexed":false,"internalType":"enum KeelSettlementRegistry.Stack"},{"name":"da","type":"uint8","indexed":false,"internalType":"enum KeelSettlementRegistry.DataAvailability"}],"anonymous":false},{"type":"event","name":"ConfigurationLocked","inputs":[],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ConfigurationIsLocked","inputs":[]},{"type":"error","name":"InvalidTopology","inputs":[]},{"type":"error","name":"LastAdministrator","inputs":[]},{"type":"error","name":"UnknownChain","inputs":[{"name":"chainId","type":"uint64","internalType":"uint64"}]},{"type":"error","name":"ZeroAddress","inputs":[]}]
