UNPKG

@zero-tech/zkevm-contracts

Version:
1,938 lines 155 kB
{ "_format": "hh-sol-artifact-1", "contractName": "PolygonZkEVMMock", "sourceName": "contracts/mocks/PolygonZkEVMMock.sol", "abi": [ { "inputs": [ { "internalType": "contract IPolygonZkEVMGlobalExitRoot", "name": "_globalExitRootManager", "type": "address" }, { "internalType": "contract IERC20Upgradeable", "name": "_matic", "type": "address" }, { "internalType": "contract IVerifierRollup", "name": "_rollupVerifier", "type": "address" }, { "internalType": "contract IPolygonZkEVMBridge", "name": "_bridgeAddress", "type": "address" }, { "internalType": "uint64", "name": "_chainID", "type": "uint64" }, { "internalType": "uint64", "name": "_forkID", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "BatchAlreadyVerified", "type": "error" }, { "inputs": [], "name": "BatchNotSequencedOrNotSequenceEnd", "type": "error" }, { "inputs": [], "name": "ExceedMaxVerifyBatches", "type": "error" }, { "inputs": [], "name": "FinalNumBatchBelowLastVerifiedBatch", "type": "error" }, { "inputs": [], "name": "FinalNumBatchDoesNotMatchPendingState", "type": "error" }, { "inputs": [], "name": "FinalPendingStateNumInvalid", "type": "error" }, { "inputs": [], "name": "ForceBatchNotAllowed", "type": "error" }, { "inputs": [], "name": "ForceBatchTimeoutNotExpired", "type": "error" }, { "inputs": [], "name": "ForceBatchesAlreadyActive", "type": "error" }, { "inputs": [], "name": "ForceBatchesOverflow", "type": "error" }, { "inputs": [], "name": "ForcedDataDoesNotMatch", "type": "error" }, { "inputs": [], "name": "GlobalExitRootNotExist", "type": "error" }, { "inputs": [], "name": "HaltTimeoutNotExpired", "type": "error" }, { "inputs": [], "name": "InitNumBatchAboveLastVerifiedBatch", "type": "error" }, { "inputs": [], "name": "InitNumBatchDoesNotMatchPendingState", "type": "error" }, { "inputs": [], "name": "InvalidProof", "type": "error" }, { "inputs": [], "name": "InvalidRangeBatchTimeTarget", "type": "error" }, { "inputs": [], "name": "InvalidRangeForceBatchTimeout", "type": "error" }, { "inputs": [], "name": "InvalidRangeMultiplierBatchFee", "type": "error" }, { "inputs": [], "name": "NewAccInputHashDoesNotExist", "type": "error" }, { "inputs": [], "name": "NewPendingStateTimeoutMustBeLower", "type": "error" }, { "inputs": [], "name": "NewStateRootNotInsidePrime", "type": "error" }, { "inputs": [], "name": "NewTrustedAggregatorTimeoutMustBeLower", "type": "error" }, { "inputs": [], "name": "NotEnoughMaticAmount", "type": "error" }, { "inputs": [], "name": "OldAccInputHashDoesNotExist", "type": "error" }, { "inputs": [], "name": "OldStateRootDoesNotExist", "type": "error" }, { "inputs": [], "name": "OnlyAdmin", "type": "error" }, { "inputs": [], "name": "OnlyEmergencyState", "type": "error" }, { "inputs": [], "name": "OnlyNotEmergencyState", "type": "error" }, { "inputs": [], "name": "OnlyPendingAdmin", "type": "error" }, { "inputs": [], "name": "OnlyTrustedAggregator", "type": "error" }, { "inputs": [], "name": "OnlyTrustedSequencer", "type": "error" }, { "inputs": [], "name": "PendingStateDoesNotExist", "type": "error" }, { "inputs": [], "name": "PendingStateInvalid", "type": "error" }, { "inputs": [], "name": "PendingStateNotConsolidable", "type": "error" }, { "inputs": [], "name": "PendingStateTimeoutExceedHaltAggregationTimeout", "type": "error" }, { "inputs": [], "name": "SequenceZeroBatches", "type": "error" }, { "inputs": [], "name": "SequencedTimestampBelowForcedTimestamp", "type": "error" }, { "inputs": [], "name": "SequencedTimestampInvalid", "type": "error" }, { "inputs": [], "name": "StoredRootMustBeDifferentThanNewRoot", "type": "error" }, { "inputs": [], "name": "TransactionsLengthAboveMax", "type": "error" }, { "inputs": [], "name": "TrustedAggregatorTimeoutExceedHaltAggregationTimeout", "type": "error" }, { "inputs": [], "name": "TrustedAggregatorTimeoutNotExpired", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AcceptAdminRole", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ActivateForceBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": true, "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "ConsolidatePendingState", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EmergencyStateActivated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EmergencyStateDeactivated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "forceBatchNum", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "lastGlobalExitRoot", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "sequencer", "type": "address" }, { "indexed": false, "internalType": "bytes", "name": "transactions", "type": "bytes" } ], "name": "ForceBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "OverridePendingState", "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": "bytes32", "name": "storedStateRoot", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "provedStateRoot", "type": "bytes32" } ], "name": "ProveNonDeterministicPendingState", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" } ], "name": "SequenceBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" } ], "name": "SequenceForceBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "newforceBatchTimeout", "type": "uint64" } ], "name": "SetForceBatchTimeout", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "newMultiplierBatchFee", "type": "uint16" } ], "name": "SetMultiplierBatchFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "newPendingStateTimeout", "type": "uint64" } ], "name": "SetPendingStateTimeout", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newTrustedAggregator", "type": "address" } ], "name": "SetTrustedAggregator", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "newTrustedAggregatorTimeout", "type": "uint64" } ], "name": "SetTrustedAggregatorTimeout", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newTrustedSequencer", "type": "address" } ], "name": "SetTrustedSequencer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "newTrustedSequencerURL", "type": "string" } ], "name": "SetTrustedSequencerURL", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "newVerifyBatchTimeTarget", "type": "uint64" } ], "name": "SetVerifyBatchTimeTarget", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "TransferAdminRole", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "indexed": false, "internalType": "string", "name": "version", "type": "string" } ], "name": "UpdateZkEVMVersion", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "VerifyBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "VerifyBatchesTrustedAggregator", "type": "event" }, { "inputs": [], "name": "acceptAdminRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "sequencedBatchNum", "type": "uint64" } ], "name": "activateEmergencyState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "activateForceBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "batchFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "batchNumToStateRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "bridgeAddress", "outputs": [ { "internalType": "contract IPolygonZkEVMBridge", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "currentAccInputHash", "type": "bytes32" }, { "internalType": "bytes", "name": "transactions", "type": "bytes" }, { "internalType": "bytes32", "name": "globalExitRoot", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "address", "name": "sequencerAddress", "type": "address" } ], "name": "calculateAccInputHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "calculateRewardPerBatch", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "chainID", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newStateRoot", "type": "uint256" } ], "name": "checkStateRootInsidePrime", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "consolidatePendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deactivateEmergencyState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "transactions", "type": "bytes" }, { "internalType": "uint256", "name": "maticAmount", "type": "uint256" } ], "name": "forceBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "forceBatchTimeout", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "forcedBatches", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "forkID", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getForcedBatchFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "oldStateRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" } ], "name": "getInputSnarkBytes", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastVerifiedBatch", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" } ], "name": "getNextSnarkInput", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "globalExitRootManager", "outputs": [ { "internalType": "contract IPolygonZkEVMGlobalExitRoot", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "trustedSequencer", "type": "address" }, { "internalType": "uint64", "name": "pendingStateTimeout", "type": "uint64" }, { "internalType": "address", "name": "trustedAggregator", "type": "address" }, { "internalType": "uint64", "name": "trustedAggregatorTimeout", "type": "uint64" } ], "internalType": "struct PolygonZkEVM.InitializePackedParameters", "name": "initializePackedParameters", "type": "tuple" }, { "internalType": "bytes32", "name": "genesisRoot", "type": "bytes32" }, { "internalType": "string", "name": "_trustedSequencerURL", "type": "string" }, { "internalType": "string", "name": "_networkName", "type": "string" }, { "internalType": "string", "name": "_version", "type": "string" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isEmergencyState", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isForcedBatchDisallowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "isPendingStateConsolidable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastBatchSequenced", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastForceBatch", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastForceBatchSequenced", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastPendingState", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastPendingStateConsolidated", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastTimestamp", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastVerifiedBatch", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "matic", "outputs": [ { "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "multiplierBatchFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "networkName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "initPendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "finalPendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "overridePendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pendingStateTimeout", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "pendingStateTransitions", "outputs": [ { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint64", "name": "lastVerifiedBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "initPendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "finalPendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "proveNonDeterministicPendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rollupVerifier", "outputs": [ { "internalType": "contract IVerifierRollup", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes", "name": "transactions", "type": "bytes" }, { "internalType": "bytes32", "name": "globalExitRoot", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint64", "name": "minForcedTimestamp", "type": "uint64" } ], "internalType": "struct PolygonZkEVM.BatchData[]", "name": "batches", "type": "tuple[]" }, { "internalType": "address", "name": "l2Coinbase", "type": "address" } ], "name": "sequenceBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes", "name": "transactions", "type": "bytes" }, { "internalType": "bytes32", "name": "globalExitRoot", "type": "bytes32" }, { "internalType": "uint64", "name": "minForcedTimestamp", "type": "uint64" } ], "internalType": "struct PolygonZkEVM.ForcedBatchData[]", "name": "batches", "type": "tuple[]" } ], "name": "sequenceForceBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "name": "sequencedBatches", "outputs": [ { "internalType": "bytes32", "name": "accInputHash", "type": "bytes32" }, { "internalType": "uint64", "name": "sequencedTimestamp", "type": "uint64" }, { "internalType": "uint64", "name": "previousLastBatchSequenced", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newforceBatchTimeout", "type": "uint64" } ], "name": "setForceBatchTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "newMultiplierBatchFee", "type": "uint16" } ], "name": "setMultiplierBatchFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_networkName", "type": "string" } ], "name": "setNetworkName", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newPendingStateTimeout", "type": "uint64" } ], "name": "setPendingStateTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_numBatch", "type": "uint64" } ], "name": "setSequencedBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "batchNum", "type": "uint64" }, { "internalType": "bytes32", "name": "accInputData", "type": "bytes32" }, { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint64", "name": "lastPendingStateConsolidated", "type": "uint64" } ], "name": "setSequencedBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "uint64", "name": "batchNum", "type": "uint64" } ], "name": "setStateRoot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTrustedAggregator", "type": "address" } ], "name": "setTrustedAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newTrustedAggregatorTimeout", "type": "uint64" } ], "name": "setTrustedAggregatorTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTrustedSequencer", "type": "address" } ], "name": "setTrustedSequencer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "newTrustedSequencerURL", "type": "string" } ], "name": "setTrustedSequencerURL", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "_numBatch", "type": "uint64" } ], "name": "setVerifiedBatch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newVerifyBatchTimeTarget", "type": "uint64" } ], "name": "setVerifyBatchTimeTarget", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "transferAdminRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "trustedAggregator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "trustedAggregatorTimeout", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "trustedSequencer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "trustedSequencerURL", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "uint256[2]", "name": "proofA", "type": "uint256[2]" }, { "internalType": "uint256[2][2]", "name": "proofB", "type": "uint256[2][2]" }, { "internalType": "uint256[2]", "name": "proofC", "type": "uint256[2]" } ], "name": "trustedVerifyBatchesMock", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newLastVerifiedBatch", "type": "uint64" } ], "name": "updateBatchFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "verifyBatchTimeTarget", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "verifyBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" }, { "internalType": "uint64", "name": "initNumBatch", "type": "uint64" }, { "internalType": "uint64", "name": "finalNewBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "newLocalExitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "newStateRoot", "type": "bytes32" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "verifyBatchesTrustedAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x61014060405234801562000011575f80fd5b5060405162006f2038038062006f208339810160408190526200003491620000a2565b6001600160a01b0395861660c05293851660805291841660a05290921660e0526001600160401b039182166101005216610120526200012a565b6001600160a01b038116811462000083575f80fd5b50565b80516001600160401b03811681146200009d575f80fd5b919050565b5f805f805f8060c08789031215620000b8575f80fd5b8651620000c5816200006e565b6020880151909650620000d8816200006e565b6040880151909550620000eb816200006e565b6060880151909450620000fe816200006e565b92506200010e6080880162000086565b91506200011e60a0880162000086565b90509295509295509295565b60805160a05160c05160e0516101005161012051616d29620001f75f395f818161081501528181611a560152613e5601525f81816109a70152611a2c01525f818161096d015281816129e3015281816144e701526159e601525f8181610b380152818161170c01528181611bc801528181611d93015281816125f001528181612db101528181614757015261554301525f8181610bf801528181614eac01526152fa01525f8181610a75015281816129b1015281816132d90152818161472c0152614f980152616d295ff3fe608060405234801561000f575f80fd5b5060043610610475575f3560e01c80638c3d73011161025d578063c754c7ed11610148578063e7a7ed02116100c3578063f14916d611610093578063f851a44011610079578063f851a44014610c80578063f8b823e414610ca0578063fe16564f14610ca9575f80fd5b8063f14916d614610c5a578063f2fde38b14610c6d575f80fd5b8063e7a7ed0214610bc3578063e8bf92ed14610bf3578063eaeb077b14610c1a578063ed6b010414610c2d575f80fd5b8063d2e129f911610118578063d939b315116100fe578063d939b31514610b80578063dbc1697614610ba8578063e0d1744114610bb0575f80fd5b8063d2e129f914610b5a578063d8d1091b14610b6d575f80fd5b8063c754c7ed14610ac5578063c89e42df14610af1578063cfa8ed4714610b04578063d02103ca14610b33575f80fd5b8063ada8f919116101d8578063b4f77ea9116101a8578063ba58ae391161018e578063ba58ae3914610a97578063c0cad30214610aaa578063c0ed84e014610abd575f80fd5b8063b4f77ea914610a5d578063b6b0b09714610a70575f80fd5b8063ada8f9191461098f578063adc879e9146109a2578063afd23cbe146109c9578063b4d63f58146109f7575f80fd5b80639aa972a31161022d5780639c9f3dfe116102135780639c9f3dfe14610942578063a066215c14610955578063a3c573eb14610968575f80fd5b80639aa972a31461091c5780639b7967601461092f575f80fd5b80638c3d7301146108db5780638da5cb5b146108e357806396dc3d391461090157806399f5634e14610914575f80fd5b80634a1a89a71161037d578063621dd411116102f85780637215541a116102c8578063831c7ead116102ae578063831c7ead14610810578063837a473814610837578063841b24d7146108ab575f80fd5b80637215541a146107e95780637fcb3653146107fc575f80fd5b8063621dd4111461079c5780636b8616ce146107af5780636ff512cc146107ce578063715018a6146107e1575f80fd5b8063542028d51161034d5780635e9145c9116103335780635e9145c9146107795780635ec919581461078c5780636046916914610794575f80fd5b8063542028d5146106d0578063574f649e146106d8575f80fd5b80634a1a89a71461066b5780634a910e6a1461068b5780634e4877061461069e5780635392c5e0146106b1575f80fd5b8063267822471161040d578063383b3be8116103dd578063423fa856116103c3578063423fa8561461060f578063456052671461062f578063458c047714610657575f80fd5b8063383b3be8146105e9578063394218e9146105fc575f80fd5b8063267822471461055257806329878983146105975780632b0006fa146105c35780632c1f816a146105d6575f80fd5b806315064c961161044857806315064c96146104fb5780631816b7e51461051857806319d8ac611461052b578063220d78991461053f575f80fd5b80630a0d9fbe146104795780630eaa86ea146104b0578063107bf28c146104d157806310a01a72146104e6575b5f80fd5b606f5461049290610100900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b6104c36104be366004615fac565b610cbc565b6040519081526020016104a7565b6104d961118c565b6040516104a79190616068565b6104f96104f4366004616097565b611218565b005b606f546105089060ff1681565b60405190151581526020016104a7565b6104f9610526366004616124565b6117c6565b6073546104929067ffffffffffffffff1681565b6104d961054d366004616145565b6118de565b607b546105729073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016104a7565b6074546105729068010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b6104f96105d136600461619f565b611ab4565b6104f96105e4366004616203565b611c7e565b6105086105f7366004616278565b611e86565b6104f961060a366004616278565b611edb565b6073546104929068010000000000000000900467ffffffffffffffff1681565b60735461049290700100000000000000000000000000000000900467ffffffffffffffff1681565b6079546104929067ffffffffffffffff1681565b6079546104929068010000000000000000900467ffffffffffffffff1681565b6104f9610699366004616278565b61205f565b6104f96106ac366004616278565b612112565b6104c36106bf366004616278565b60756020525f908152604090205481565b6104d9612296565b6104c36106e6366004616388565b835160209485012060408051808701979097528681019190915260608087019490945260c09290921b7fffffffffffffffff00000000000000000000000000000000000000000000000016608086015290911b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660888401528051808403607c018152609c9093019052815191012090565b6104f961078736600461643d565b6122a3565b6104f9612a9c565b6104c3612b9b565b6104f96107aa36600461619f565b612bb0565b6104c36107bd366004616278565b60716020525f908152604090205481565b6104f96107dc36600461648d565b612f2e565b6104f9613003565b6104f96107f7366004616278565b613016565b6074546104929067ffffffffffffffff1681565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b61087f6108453660046164a6565b60786020525f908152604090208054600182015460029092015467ffffffffffffffff808316936801000000000000000090930416919084565b6040805167ffffffffffffffff95861681529490931660208501529183015260608201526080016104a7565b607954610492907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1681565b6104f9613183565b60335473ffffffffffffffffffffffffffffffffffffffff16610572565b6104f961090f366004616278565b61324f565b6104c3613292565b6104f961092a366004616203565b6133e5565b6104f961093d366004616278565b613495565b6104f9610950366004616278565b6134e4565b6104f9610963366004616278565b613660565b6105727f000000000000000000000000000000000000000000000000000000000000000081565b6104f961099d36600461648d565b613766565b6104927f000000000000000000000000000000000000000000000000000000000000000081565b606f546109e4906901000000000000000000900461ffff1681565b60405161ffff90911681526020016104a7565b610a37610a05366004616278565b60726020525f90815260409020805460019091015467ffffffffffffffff808216916801000000000000000090041683565b6040805193845267ffffffffffffffff92831660208501529116908201526060016104a7565b6104f9610a6b366004616278565b61382a565b6105727f000000000000000000000000000000000000000000000000000000000000000081565b610508610aa53660046164a6565b61383b565b6104f9610ab83660046164bd565b6138c3565b6104926138db565b607b546104929074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b6104f9610aff3660046164bd565b61392e565b606f54610572906b010000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b6105727f000000000000000000000000000000000000000000000000000000000000000081565b6104f9610b6836600461652d565b6139bb565b6104f9610b7b3660046165d8565b613ef9565b60795461049290700100000000000000000000000000000000900467ffffffffffffffff1681565b6104f9614494565b6104f9610bbe366004616617565b614568565b607354610492907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1681565b6105727f000000000000000000000000000000000000000000000000000000000000000081565b6104f9610c28366004616661565b6145f7565b607b54610508907c0100000000000000000000000000000000000000000000000000000000900460ff1681565b6104f9610c6836600461648d565b6149e7565b6104f9610c7b36600461648d565b614ab9565b607a546105729073ffffffffffffffffffffffffffffffffffffffff1681565b6104c360705481565b6104f9610cb73660046166a9565b614b6d565b5f805f610cc76138db565b905067ffffffffffffffff881615610e935760795467ffffffffffffffff9081169089161115610da4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605860248201527f506f6c79676f6e5a6b45564d3a3a766572696679426174636865733a2070656e60448201527f64696e6753746174654e756d206d75737420626520