[ { "type": "constructor", "inputs": [ { "name": "_sequencerAdmin", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addSequencer", "inputs": [ { "name": "sequencer", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "blockCommitment", "inputs": [ { "name": "header", "type": "tuple", "internalType": "struct Zenith.BlockHeader", "components": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "hostBlockNumber", "type": "uint256", "internalType": "uint256" }, { "name": "gasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "rewardAddress", "type": "address", "internalType": "address" }, { "name": "blockDataHash", "type": "bytes32", "internalType": "bytes32" } ] } ], "outputs": [ { "name": "commit", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "deployBlockNumber", "inputs": [], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "isSequencer", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "lastSubmittedAtBlock", "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "removeSequencer", "inputs": [ { "name": "sequencer", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sequencerAdmin", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "address" }], "stateMutability": "view" }, { "type": "function", "name": "submitBlock", "inputs": [ { "name": "header", "type": "tuple", "internalType": "struct Zenith.BlockHeader", "components": [ { "name": "rollupChainId", "type": "uint256", "internalType": "uint256" }, { "name": "hostBlockNumber", "type": "uint256", "internalType": "uint256" }, { "name": "gasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "rewardAddress", "type": "address", "internalType": "address" }, { "name": "blockDataHash", "type": "bytes32", "internalType": "bytes32" } ] }, { "name": "v", "type": "uint8", "internalType": "uint8" }, { "name": "r", "type": "bytes32", "internalType": "bytes32" }, { "name": "s", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "BlockSubmitted", "inputs": [ { "name": "sequencer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rollupChainId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "gasLimit", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "rewardAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "blockDataHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "SequencerSet", "inputs": [ { "name": "sequencer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "permissioned", "type": "bool", "indexed": true, "internalType": "bool" } ], "anonymous": false }, { "type": "error", "name": "BadSignature", "inputs": [ { "name": "derivedSequencer", "type": "address", "internalType": "address" } ] }, { "type": "error", "name": "IncorrectHostBlock", "inputs": [] }, { "type": "error", "name": "OneRollupBlockPerHostBlock", "inputs": [] }, { "type": "error", "name": "OnlySequencerAdmin", "inputs": [] } ]