UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

1,677 lines 126 kB
{ "_format": "hh-sol-artifact-1", "contractName": "SequencerInboxBlobMock", "sourceName": "src/mocks/SequencerInboxBlobMock.sol", "abi": [ { "inputs": [ { "internalType": "uint256", "name": "maxDataSize_", "type": "uint256" }, { "internalType": "contract IReader4844", "name": "reader_", "type": "address" }, { "internalType": "bool", "name": "isUsingFeeToken_", "type": "bool" }, { "internalType": "bool", "name": "isDelayBufferable_", "type": "bool" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyInit", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "AlreadyValidDASKeyset", "type": "error" }, { "inputs": [], "name": "BadBufferConfig", "type": "error" }, { "inputs": [], "name": "BadMaxTimeVariation", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "stored", "type": "uint256" }, { "internalType": "uint256", "name": "received", "type": "uint256" } ], "name": "BadSequencerNumber", "type": "error" }, { "inputs": [], "name": "CannotSetFeeTokenPricer", "type": "error" }, { "inputs": [], "name": "DataBlobsNotSupported", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "dataLength", "type": "uint256" }, { "internalType": "uint256", "name": "maxDataLength", "type": "uint256" } ], "name": "DataTooLarge", "type": "error" }, { "inputs": [], "name": "DelayProofRequired", "type": "error" }, { "inputs": [], "name": "DelayedBackwards", "type": "error" }, { "inputs": [], "name": "DelayedTooFar", "type": "error" }, { "inputs": [], "name": "Deprecated", "type": "error" }, { "inputs": [], "name": "ExtraGasNotUint64", "type": "error" }, { "inputs": [], "name": "ForceIncludeBlockTooSoon", "type": "error" }, { "inputs": [], "name": "HadZeroInit", "type": "error" }, { "inputs": [], "name": "IncorrectMessagePreimage", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" } ], "name": "InitParamZero", "type": "error" }, { "inputs": [], "name": "InvalidDelayedAccPreimage", "type": "error" }, { "inputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "name": "InvalidHeaderFlag", "type": "error" }, { "inputs": [], "name": "KeysetTooLarge", "type": "error" }, { "inputs": [], "name": "MissingDataHashes", "type": "error" }, { "inputs": [], "name": "NativeTokenMismatch", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "NoSuchKeyset", "type": "error" }, { "inputs": [], "name": "NotBatchPoster", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "NotBatchPosterManager", "type": "error" }, { "inputs": [], "name": "NotCodelessOrigin", "type": "error" }, { "inputs": [], "name": "NotDelayBufferable", "type": "error" }, { "inputs": [], "name": "NotForked", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "RollupNotChanged", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newBatchPosterManager", "type": "address" } ], "name": "BatchPosterManagerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "batchPoster", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isBatchPoster", "type": "bool" } ], "name": "BatchPosterSet", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint64", "name": "threshold", "type": "uint64" }, { "internalType": "uint64", "name": "max", "type": "uint64" }, { "internalType": "uint64", "name": "replenishRateInBasis", "type": "uint64" } ], "indexed": false, "internalType": "struct BufferConfig", "name": "bufferConfig", "type": "tuple" } ], "name": "BufferConfigSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "feeTokenPricer", "type": "address" } ], "name": "FeeTokenPricerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "messageNum", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "InboxMessageDelivered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "messageNum", "type": "uint256" } ], "name": "InboxMessageDeliveredFromOrigin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "keysetHash", "type": "bytes32" } ], "name": "InvalidateKeyset", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint256", "name": "delayBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "futureBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "delaySeconds", "type": "uint256" }, { "internalType": "uint256", "name": "futureSeconds", "type": "uint256" } ], "indexed": false, "internalType": "struct ISequencerInbox.MaxTimeVariation", "name": "maxTimeVariation", "type": "tuple" } ], "name": "MaxTimeVariationSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "OwnerFunctionCalled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "batchSequenceNumber", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "SequencerBatchData", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "batchSequenceNumber", "type": "uint256" }, { "indexed": true, "internalType": "bytes32", "name": "beforeAcc", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "afterAcc", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "delayedAcc", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "components": [ { "internalType": "uint64", "name": "minTimestamp", "type": "uint64" }, { "internalType": "uint64", "name": "maxTimestamp", "type": "uint64" }, { "internalType": "uint64", "name": "minBlockNumber", "type": "uint64" }, { "internalType": "uint64", "name": "maxBlockNumber", "type": "uint64" } ], "indexed": false, "internalType": "struct IBridge.TimeBounds", "name": "timeBounds", "type": "tuple" }, { "indexed": false, "internalType": "enum IBridge.BatchDataLocation", "name": "dataLocation", "type": "uint8" } ], "name": "SequencerBatchDelivered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "addr", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isSequencer", "type": "bool" } ], "name": "SequencerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "keysetHash", "type": "bytes32" }, { "indexed": false, "internalType": "bytes", "name": "keysetBytes", "type": "bytes" } ], "name": "SetValidKeyset", "type": "event" }, { "inputs": [], "name": "BROTLI_MESSAGE_HEADER_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DAS_MESSAGE_HEADER_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DATA_AUTHENTICATED_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DATA_BLOB_HEADER_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "HEADER_LENGTH", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "TREE_DAS_MESSAGE_HEADER_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "ZERO_HEAVY_MESSAGE_HEADER_FLAG", "outputs": [ { "internalType": "bytes1", "name": "", "type": "bytes1" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" } ], "name": "addSequencerL2Batch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" }, { "components": [ { "internalType": "bytes32", "name": "beforeDelayedAcc", "type": "bytes32" }, { "components": [ { "internalType": "uint8", "name": "kind", "type": "uint8" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint64", "name": "blockNumber", "type": "uint64" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint256", "name": "inboxSeqNum", "type": "uint256" }, { "internalType": "uint256", "name": "baseFeeL1", "type": "uint256" }, { "internalType": "bytes32", "name": "messageDataHash", "type": "bytes32" } ], "internalType": "struct Messages.Message", "name": "delayedMessage", "type": "tuple" } ], "internalType": "struct DelayProof", "name": "delayProof", "type": "tuple" } ], "name": "addSequencerL2BatchDelayProof", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" } ], "name": "addSequencerL2BatchFromBlobs", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" }, { "components": [ { "internalType": "bytes32", "name": "beforeDelayedAcc", "type": "bytes32" }, { "components": [ { "internalType": "uint8", "name": "kind", "type": "uint8" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint64", "name": "blockNumber", "type": "uint64" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint256", "name": "inboxSeqNum", "type": "uint256" }, { "internalType": "uint256", "name": "baseFeeL1", "type": "uint256" }, { "internalType": "bytes32", "name": "messageDataHash", "type": "bytes32" } ], "internalType": "struct Messages.Message", "name": "delayedMessage", "type": "tuple" } ], "internalType": "struct DelayProof", "name": "delayProof", "type": "tuple" } ], "name": "addSequencerL2BatchFromBlobsDelayProof", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "", "type": "address" } ], "name": "addSequencerL2BatchFromOrigin", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" } ], "name": "addSequencerL2BatchFromOrigin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "sequenceNumber", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "afterDelayedMessagesRead", "type": "uint256" }, { "internalType": "contract IGasRefunder", "name": "gasRefunder", "type": "address" }, { "internalType": "uint256", "name": "prevMessageCount", "type": "uint256" }, { "internalType": "uint256", "name": "newMessageCount", "type": "uint256" }, { "components": [ { "internalType": "bytes32", "name": "beforeDelayedAcc", "type": "bytes32" }, { "components": [ { "internalType": "uint8", "name": "kind", "type": "uint8" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint64", "name": "blockNumber", "type": "uint64" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint256", "name": "inboxSeqNum", "type": "uint256" }, { "internalType": "uint256", "name": "baseFeeL1", "type": "uint256" }, { "internalType": "bytes32", "name": "messageDataHash", "type": "bytes32" } ], "internalType": "struct Messages.Message", "name": "delayedMessage", "type": "tuple" } ], "internalType": "struct DelayProof", "name": "delayProof", "type": "tuple" } ], "name": "addSequencerL2BatchFromOriginDelayProof", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "batchCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "batchPosterManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridge", "outputs": [ { "internalType": "contract IBridge", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buffer", "outputs": [ { "internalType": "uint64", "name": "bufferBlocks", "type": "uint64" }, { "internalType": "uint64", "name": "max", "type": "uint64" }, { "internalType": "uint64", "name": "threshold", "type": "uint64" }, { "internalType": "uint64", "name": "prevBlockNumber", "type": "uint64" }, { "internalType": "uint64", "name": "replenishRateInBasis", "type": "uint64" }, { "internalType": "uint64", "name": "prevSequencedBlockNumber", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "dasKeySetInfo", "outputs": [ { "internalType": "bool", "name": "isValidKeyset", "type": "bool" }, { "internalType": "uint64", "name": "creationBlock", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "feeTokenPricer", "outputs": [ { "internalType": "contract IFeeTokenPricer", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_totalDelayedMessagesRead", "type": "uint256" }, { "internalType": "uint8", "name": "kind", "type": "uint8" }, { "internalType": "uint64[2]", "name": "l1BlockAndTime", "type": "uint64[2]" }, { "internalType": "uint256", "name": "baseFeeL1", "type": "uint256" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "bytes32", "name": "messageDataHash", "type": "bytes32" } ], "name": "forceInclusion", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "blockNumber", "type": "uint64" } ], "name": "forceInclusionDeadline", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "ksHash", "type": "bytes32" } ], "name": "getKeysetCreationBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "inboxAccs", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IBridge", "name": "bridge_", "type": "address" }, { "components": [ { "internalType": "uint256", "name": "delayBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "futureBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "delaySeconds", "type": "uint256" }, { "internalType": "uint256", "name": "futureSeconds", "type": "uint256" } ], "internalType": "struct ISequencerInbox.MaxTimeVariation", "name": "maxTimeVariation_", "type": "tuple" }, { "components": [ { "internalType": "uint64", "name": "threshold", "type": "uint64" }, { "internalType": "uint64", "name": "max", "type": "uint64" }, { "internalType": "uint64", "name": "replenishRateInBasis", "type": "uint64" } ], "internalType": "struct BufferConfig", "name": "bufferConfig_", "type": "tuple" }, { "internalType": "contract IFeeTokenPricer", "name": "feeTokenPricer_", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "ksHash", "type": "bytes32" } ], "name": "invalidateKeysetHash", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isBatchPoster", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isDelayBufferable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isSequencer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isUsingFeeToken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "ksHash", "type": "bytes32" } ], "name": "isValidKeysetHash", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxDataSize", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTimeVariation", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint64", "name": "threshold", "type": "uint64" }, { "internalType": "uint64", "name": "max", "type": "uint64" }, { "internalType": "uint64", "name": "replenishRateInBasis", "type": "uint64" } ], "internalType": "struct BufferConfig", "name": "bufferConfig_", "type": "tuple" } ], "name": "postUpgradeInit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reader4844", "outputs": [ { "internalType": "contract IReader4844", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeDelayAfterFork", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rollup", "outputs": [ { "internalType": "contract IOwnable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newBatchPosterManager", "type": "address" } ], "name": "setBatchPosterManager", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint64", "name": "threshold", "type": "uint64" }, { "internalType": "uint64", "name": "max", "type": "uint64" }, { "internalType": "uint64", "name": "replenishRateInBasis", "type": "uint64" } ], "internalType": "struct BufferConfig", "name": "bufferConfig_", "type": "tuple" } ], "name": "setBufferConfig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IFeeTokenPricer", "name": "feeTokenPricer_", "type": "address" } ], "name": "setFeeTokenPricer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "isBatchPoster_", "type": "bool" } ], "name": "setIsBatchPoster", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" }, { "internalType": "bool", "name": "isSequencer_", "type": "bool" } ], "name": "setIsSequencer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint256", "name": "delayBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "futureBlocks", "type": "uint256" }, { "internalType": "uint256", "name": "delaySeconds", "type": "uint256" }, { "internalType": "uint256", "name": "futureSeconds", "type": "uint256" } ], "internalType": "struct ISequencerInbox.MaxTimeVariation", "name": "maxTimeVariation_", "type": "tuple" } ], "name": "setMaxTimeVariation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "keysetBytes", "type": "bytes" } ], "name": "setValidKeyset", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalDelayedMessagesRead", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "updateRollupAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x610180604052306080526202000060a05246610100526200002b62000115602090811b6200315417901c565b1515610120523480156200003e57600080fd5b506040516200578f3803806200578f8339810160408190526200006191620001c8565b838383838360e081815250506101205115620000a6576001600160a01b03831615620000a0576040516386657a5360e01b815260040160405180910390fd5b620000ef565b6001600160a01b038316620000ef576040516380fc2c0360e01b815260206004820152600a60248201526914995859195c8d0e0d0d60b21b604482015260640160405180910390fd5b6001600160a01b0390921660c052151561014052151561016052506200025b9350505050565b60408051600481526024810182526020810180516001600160e01b03166302881c7960e11b1790529051600091829182916064916200015591906200022a565b600060405180830381855afa9150503d806000811462000192576040519150601f19603f3d011682016040523d82523d6000602084013e62000197565b606091505b5091509150818015620001ab575080516020145b9250505090565b80518015158114620001c357600080fd5b919050565b60008060008060808587031215620001df57600080fd5b845160208601519094506001600160a01b0381168114620001ff57600080fd5b92506200020f60408601620001b2565b91506200021f60608601620001b2565b905092959194509250565b6000825160005b818110156200024d576020818601810151858301520162000231565b506000920191825250919050565b60805160a05160c05160e0516101005161012051610140516101605161541f6200037060003960008181610478015281816112ca015281816117be01528181611e9a015281816123010152818161268701528181612c9f01528181612e340152818161321c015261345e01526000818161061d0152818161098301528181612546015281816126b601528181613f25015261404c015260008181612a800152818161356a0152613f6501526000818161215c01526139d701526000818161074a0152818161431301526143680152600081816105d001528181610f680152611e4301526000818161114d0152818161148b01528181611d3801526120520152600081816121db0152612399015261541f6000f3fe608060405234801561001057600080fd5b506004361061030a5760003560e01c80637fa3a40e1161019c578063cc2a1a0c116100ee578063e78cea9211610097578063edaafe2011610071578063edaafe2014610794578063f19815781461081d578063f60a50911461083057600080fd5b8063e78cea9214610732578063e8eb1dc314610745578063ebea461d1461076c57600080fd5b8063dd44e6e0116100c8578063dd44e6e0146106cc578063e0bc9729146106f8578063e5a358c81461070b57600080fd5b8063cc2a1a0c14610693578063d1ce8da8146106a6578063d9dd67ab146106b957600080fd5b806392d9f78211610150578063a84840b71161012a578063a84840b71461065a578063b31761f81461066d578063cb23bcb51461068057600080fd5b806392d9f7821461061857806396cc5c781461063f578063a655d9371461064757600080fd5b80638d910dde116101815780638d910dde146105cb5780638f111f3c146105f2578063917cf8ac1461060557600080fd5b80637fa3a40e146105af57806384420860146105b857600080fd5b80632f3985a7116102605780636d46e987116102095780636f12b0c9116101e35780636f12b0c914610525578063715ea34b1461053857806371c3e6fe1461058c57600080fd5b80636d46e987146104dc5780636e620055146104ff5780636e7df3e71461051257600080fd5b806369cacded1161023a57806369cacded1461049a5780636ae71f12146104ad5780636c890450146104b557600080fd5b80632f3985a71461044d5780633e5aa082146104605780634b678a661461047357600080fd5b80631f956632116102c2578063258f04951161029c578063258f04951461040b57806327957a491461041e5780632cbf74e51461042657600080fd5b80631f956632146103ba5780631ff64790146103cd57806322291e8d146103e057600080fd5b806306f13056116102f357806306f13056146103695780631637be481461037f57806316af91a7146103b257600080fd5b806302c992751461030f578063036f7ed314610354575b600080fd5b6103367f200000000000000000000000000000000000000000000000000000000000000081565b6040516001600160f81b031990911681526020015b60405180910390f35b610367610362366004614849565b61083b565b005b610371610a65565b60405190815260200161034b565b6103a261038d366004614866565b60009081526008602052604090205460ff1690565b604051901515815260200161034b565b610336600081565b6103676103c836600461488d565b610aef565b6103676103db366004614849565b610c5a565b600e546103f3906001600160a01b031681565b6040516001600160a01b03909116815260200161034b565b610371610419366004614866565b610dbf565b610371602881565b6103367f500000000000000000000000000000000000000000000000000000000000000081565b61036761045b3660046149e5565b610e2c565b61036761046e366004614a01565b610f65565b6103a27f000000000000000000000000000000000000000000000000000000000000000081565b6103676104a8366004614aac565b611253565b610367611593565b6103367f080000000000000000000000000000000000000000000000000000000000000081565b6103a26104ea366004614849565b60096020526000908152604090205460ff1681565b61036761050d366004614aac565b61176b565b61036761052036600461488d565b61181d565b610367610533366004614b3a565b611988565b61056c610546366004614866565b60086020526000908152604090205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161034b565b6103a261059a366004614849565b60036020526000908152604090205460ff1681565b61037160005481565b6103676105c6366004614866565b6119ba565b6103f37f000000000000000000000000000000000000000000000000000000000000000081565b610367610600366004614ba5565b611b2f565b610367610613366004614c22565b611e40565b6103a27f000000000000000000000000000000000000000000000000000000000000000081565b610367612159565b6103676106553660046149e5565b6121d1565b610367610668366004614c7e565b61238f565b61036761067b366004614ce5565b612754565b6002546103f3906001600160a01b031681565b600b546103f3906001600160a01b031681565b6103676106b4366004614d4b565b6128b3565b6103716106c7366004614866565b612c00565b6106df6106da366004614d8d565b612c8d565b60405167ffffffffffffffff909116815260200161034b565b610367610706366004614ba5565b612cf0565b6103367f400000000000000000000000000000000000000000000000000000000000000081565b6001546103f3906001600160a01b031681565b6103717f000000000000000000000000000000000000000000000000000000000000000081565b610774612d78565b60408051948552602085019390935291830152606082015260800161034b565b600c54600d546107da9167ffffffffffffffff8082169268010000000000000000808404831693600160801b8104841693600160c01b9091048116928082169290041686565b6040805167ffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161034b565b61036761082b366004614db9565b612db1565b610336600160ff1b81565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b29190614e21565b6001600160a01b0316336001600160a01b0316146109815760025460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109379190614e21565b6040517f23295f0e0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006109d8576040517fe13123b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe83d6153add50e41b8ee6c1115c4178687349bb12bc3902a50b1f6ad78a0c5419060200160405180910390a16040516006907fea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456e90600090a250565b600154604080517e84120c00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916284120c9160048083019260209291908290030181865afa158015610ac6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aea9190614e3e565b905090565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b669190614e21565b6001600160a01b0316336001600160a01b031614158015610b925750600b546001600160a01b03163314155b15610bcb576040517f660b3b42000000000000000000000000000000000000000000000000000000008152336004820152602401610978565b6001600160a01b038216600081815260096020908152604091829020805460ff19168515159081179091558251938452908301527feb12a9a53eec138c91b27b4f912a257bd690c18fc8bde744be92a0365eb9b87e910160405180910390a16040516004907fea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456e90600090a25050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd19190614e21565b6001600160a01b0316336001600160a01b031614610d325760025460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610913573d6000803e3d6000fd5b600b805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527f3cd6c184800297a0f2b00926a683cbe76890bb7fd01480ac0a10ed6c8f7f66599060200160405180910390a16040516005907fea8787f128d10b2cc0317b0c3960f9ad447f7f6c1ed189db1083ccffd20f456e90600090a250565b600081815260086020908152604080832081518083019092525460ff811615158252610100900467ffffffffffffffff16918101829052908203610e185760405162f20c5d60e01b815260048101849052602401610978565b6020015167ffffffffffffffff1692915050565b600260009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea39190614e21565b6001600160a01b0316336001600160a01b031614610f045760025460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa158015610913573d6000803e3d6000fd5b610f0d8161321a565b60408051825167ffffffffffffffff908116825260208085015182169083015283830151168183015290517faa7a2d8175dee3b637814ad6346005dfcc357165396fb8327f649effe8abcf859181900360600190a150565b827f000000000000000000000000000000000000000000000000000000000000000060005a3360009081526003602052604090205490915060ff16610fbd57604051632dd9fc9760e01b815260040160405180910390fd5b610fc68761345a565b15610fe457604051630e5da8fb60e01b815260040160405180910390fd5b610ff0888887876134a2565b6001600160a01b0383161561124957366000602061100f83601f614e6d565b6110199190614e80565b9050610200611029600283614f86565b6110339190614e80565b61103e826006614f95565b6110489190614e6d565b6110529084614e6d565b925061105c6135d9565b611069576000915061119c565b6001600160a01b0384161561119c57836001600160a01b031663e83a2d826040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156110d757506040513d6000823e601f3d908101601f191682016040526110d49190810190614fac565b60015b1561119c5780511561119a576000856001600160a01b0316631f6d6ef76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611123573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111479190614e3e565b905048817f000000000000000000000000000000000000000000000000000000000000000084516111789190614f95565b6111829190614f95565b61118c9190614e80565b6111969086614e6d565b9450505b505b846001600160a01b031663e3db8a49335a6111b79087615052565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604481018590526064016020604051808303816000875af1158015611221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112459190615065565b5050505b5050505050505050565b836000805a90506112626135d9565b611298576040517fc8958ead00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526003602052604090205460ff166112c857604051632dd9fc9760e01b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000061130657604051631192b39960e31b815260040160405180910390fd5b61131e8861131936879003870187615082565b6135ec565b61132e8b8b8b8b8a8a60016136f9565b6001600160a01b0383161561124557366000602061134d83601f614e6d565b6113579190614e80565b9050610200611367600283614f86565b6113719190614e80565b61137c826006614f95565b6113869190614e6d565b6113909084614e6d565b925061139a6135d9565b6113a757600091506114da565b6001600160a01b038416156114da57836001600160a01b0316