UNPKG

@zero-tech/zkevm-contracts

Version:
1,714 lines 135 kB
{ "_format": "hh-sol-artifact-1", "contractName": "PolygonZkEVM", "sourceName": "contracts/PolygonZkEVM.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": [], "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": [], "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": "uint64", "name": "newPendingStateTimeout", "type": "uint64" } ], "name": "setPendingStateTimeout", "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": "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": [], "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": "0x6101406040523480156200001257600080fd5b5060405162006078380380620060788339810160408190526200003591620000a5565b6001600160a01b0395861660c05293851660805291841660a05290921660e0526001600160401b0391821661010052166101205262000131565b6001600160a01b03811681146200008557600080fd5b50565b80516001600160401b0381168114620000a057600080fd5b919050565b60008060008060008060c08789031215620000bf57600080fd5b8651620000cc816200006f565b6020880151909650620000df816200006f565b6040880151909550620000f2816200006f565b606088015190945062000105816200006f565b9250620001156080880162000088565b91506200012560a0880162000088565b90509295509295509295565b60805160a05160c05160e0516101005161012051615e79620001ff6000396000818161069601528181610dec01526131760152600081816108030152610dc20152600081816107c901528181611d910152818161380f0152614c8f01526000818161096f01528181610f5f01528181611130015281816119990152818161216a015281816139f70152614759015260008181610a1c015281816140b4015261450c0152600081816108bf01528181611d5f0152818161265b015281816139cb01526141a20152615e796000f3fe608060405234801561001057600080fd5b50600436106103ba5760003560e01c8063841b24d7116101f4578063c754c7ed1161011a578063e7a7ed02116100ad578063f14916d61161007c578063f14916d614610a7e578063f2fde38b14610a91578063f851a44014610aa4578063f8b823e414610ac457600080fd5b8063e7a7ed02146109e7578063e8bf92ed14610a17578063eaeb077b14610a3e578063ed6b010414610a5157600080fd5b8063d2e129f9116100e9578063d2e129f914610991578063d8d1091b146109a4578063d939b315146109b7578063dbc16976146109df57600080fd5b8063c754c7ed146108fc578063c89e42df14610928578063cfa8ed471461093b578063d02103ca1461096a57600080fd5b8063a3c573eb11610192578063b4d63f5811610161578063b4d63f5814610853578063b6b0b097146108ba578063ba58ae39146108e1578063c0ed84e0146108f457600080fd5b8063a3c573eb146107c4578063ada8f919146107eb578063adc879e9146107fe578063afd23cbe1461082557600080fd5b806399f5634e116101ce57806399f5634e146107835780639aa972a31461078b5780639c9f3dfe1461079e578063a066215c146107b157600080fd5b8063841b24d71461072d5780638c3d73011461075d5780638da5cb5b1461076557600080fd5b80634a1a89a7116102e4578063621dd411116102775780637215541a116102465780637215541a1461066a5780637fcb36531461067d578063831c7ead14610691578063837a4738146106b857600080fd5b8063621dd4111461061c5780636b8616ce1461062f5780636ff512cc1461064f578063715018a61461066257600080fd5b8063542028d5116102b3578063542028d5146105f15780635e9145c9146105f95780635ec919581461060c578063604691691461061457600080fd5b80634a1a89a71461057d5780634a910e6a1461059d5780634e487706146105b05780635392c5e0146105c357600080fd5b8063298789831161035c578063394218e91161032b578063394218e91461050e578063423fa856146105215780634560526714610541578063458c04771461056957600080fd5b806329878983146104a95780632b0006fa146104d55780632c1f816a146104e8578063383b3be8146104fb57600080fd5b80631816b7e5116103985780631816b7e51461042857806319d8ac611461043d578063220d789914610451578063267822471461046457600080fd5b80630a0d9fbe146103bf578063107bf28c146103f657806315064c961461040b575b600080fd5b606f546103d890610100900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b6103fe610acd565b6040516103ed91906152bb565b606f546104189060ff1681565b60405190151581526020016103ed565b61043b6104363660046152d5565b610b5b565b005b6073546103d89067ffffffffffffffff1681565b6103fe61045f366004615311565b610c73565b607b546104849073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103ed565b6074546104849068010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b61043b6104e3366004615376565b610e4a565b61043b6104f63660046153de565b61101a565b610418610509366004615458565b611228565b61043b61051c366004615458565b61127e565b6073546103d89068010000000000000000900467ffffffffffffffff1681565b6073546103d890700100000000000000000000000000000000900467ffffffffffffffff1681565b6079546103d89067ffffffffffffffff1681565b6079546103d89068010000000000000000900467ffffffffffffffff1681565b61043b6105ab366004615458565b611402565b61043b6105be366004615458565b6114b5565b6105e36105d1366004615458565b60756020526000908152604090205481565b6040519081526020016103ed565b6103fe611639565b61043b6106073660046154e3565b611646565b61043b611e50565b6105e3611f50565b61043b61062a366004615376565b611f66565b6105e361063d366004615458565b60716020526000908152604090205481565b61043b61065d366004615537565b6122ee565b61043b6123c3565b61043b610678366004615458565b6123d7565b6074546103d89067ffffffffffffffff1681565b6103d87f000000000000000000000000000000000000000000000000000000000000000081565b6107016106c6366004615552565b60786020526000908152604090208054600182015460029092015467ffffffffffffffff808316936801000000000000000090930416919084565b6040805167ffffffffffffffff95861681529490931660208501529183015260608201526080016103ed565b6079546103d8907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1681565b61043b612547565b60335473ffffffffffffffffffffffffffffffffffffffff16610484565b6105e3612613565b61043b6107993660046153de565b61276c565b61043b6107ac366004615458565b61281d565b61043b6107bf366004615458565b612999565b6104847f000000000000000000000000000000000000000000000000000000000000000081565b61043b6107f9366004615537565b612a9f565b6103d87f000000000000000000000000000000000000000000000000000000000000000081565b606f54610840906901000000000000000000900461ffff1681565b60405161ffff90911681526020016103ed565b610894610861366004615458565b6072602052600090815260409020805460019091015467ffffffffffffffff808216916801000000000000000090041683565b6040805193845267ffffffffffffffff92831660208501529116908201526060016103ed565b6104847f000000000000000000000000000000000000000000000000000000000000000081565b6104186108ef366004615552565b612b63565b6103d8612bed565b607b546103d89074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b61043b610936366004615645565b612c42565b606f54610484906b010000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b6104847f000000000000000000000000000000000000000000000000000000000000000081565b61043b61099f3660046156bc565b612ccf565b61043b6109b236600461576f565b61321a565b6079546103d890700100000000000000000000000000000000900467ffffffffffffffff1681565b61043b6137bc565b6073546103d8907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1681565b6104847f000000000000000000000000000000000000000000000000000000000000000081565b61043b610a4c3660046157b1565b613895565b607b54610418907c0100000000000000000000000000000000000000000000000000000000900460ff1681565b61043b610a8c366004615537565b613c8b565b61043b610a9f366004615537565b613d5d565b607a546104849073ffffffffffffffffffffffffffffffffffffffff1681565b6105e360705481565b60778054610ada906157fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610b06906157fd565b8015610b535780601f10610b2857610100808354040283529160200191610b53565b820191906000526020600020905b815481529060010190602001808311610b3657829003601f168201915b505050505081565b607a5473ffffffffffffffffffffffffffffffffffffffff163314610bac576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e88161ffff161080610bc557506103ff8161ffff16115b15610bfc576040517f4c2533c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f80547fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff16690100000000000000000061ffff8416908102919091179091556040519081527f7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5906020015b60405180910390a150565b67ffffffffffffffff8086166000818152607260205260408082205493881682529020546060929115801590610ca7575081155b15610cde576040517f6818c29e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80610d15576040517f66385b5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d1e84612b63565b610d54576040517f176b913c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080517fffffffffffffffffffffffffffffffffffffffff0000000000000000000000003360601b166020820152603481019690965260548601929092527fffffffffffffffff00000000000000000000000000000000000000000000000060c098891b811660748701527f0000000000000000000000000000000000000000000000000000000000000000891b8116607c8701527f0000000000000000000000000000000000000000000000000000000000000000891b81166084870152608c86019490945260ac85015260cc840194909452509290931b90911660ec830152805180830360d401815260f4909201905290565b60745468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff163314610ea7576040517fbbcbbc0500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eb5868686868686613e11565b607480547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff86811691821790925560009081526075602052604090208390556079541615610f3057607980547fffffffffffffffffffffffffffffffff000000000000000000000000000000001690555b6040517f33d6247d000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906333d6247d90602401600060405180830381600087803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b505060405184815233925067ffffffffffffffff871691507fcb339b570a7f0b25afa7333371ff11192092a0aeace12b671f4c212f2815c6fe906020015b60405180910390a3505050505050565b60745468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff163314611077576040517fbbcbbc0500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611086878787878787876141d5565b607480547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8681169182179092556000908152607560205260409020839055607954161561110157607980547fffffffffffffffffffffffffffffffff000000000000000000000000000000001690555b6040517f33d6247d000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906333d6247d90602401600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b50506079805477ffffffffffffffffffffffffffffffffffffffffffffffff167a093a800000000000000000000000000000000000000000000000001790555050604051828152339067ffffffffffffffff8616907fcc1b5520188bf1dd3e63f98164b577c4d75c11a619ddea692112f0d1aec4cf729060200160405180910390a350505050505050565b60795467ffffffffffffffff8281166000908152607860205260408120549092429261126c927001000000000000000000000000000000009092048116911661587f565b67ffffffffffffffff16111592915050565b607a5473ffffffffffffffffffffffffffffffffffffffff1633146112cf576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b62093a8067ffffffffffffffff82161115611316576040517f1d06e87900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f5460ff166113855760795467ffffffffffffffff7801000000000000000000000000000000000000000000000000909104811690821610611385576040517f401636df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6079805477ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040519081527f1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a190602001610c68565b60745468010000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146114a957606f5460ff161561146a576040517f2f0047fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61147381611228565b6114a9576040517f0ce9e4a200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114b28161460f565b50565b607a5473ffffffffffffffffffffffffffffffffffffffff163314611506576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b62093a8067ffffffffffffffff8216111561154d576040517ff5e37f2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f5460ff166115b857607b5467ffffffffffffffff740100000000000000000000000000000000000000009091048116908216106115b8576040517ff5e37f2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b607b80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040519081527fa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b90602001610c68565b60768054610ada906157fd565b606f5460ff1615611683576040517f2f0047fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f546b010000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1633146116e3576040517f11e7be1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600081900361171f576040517fcb591a5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e881111561175b57604