UNPKG

@zero-tech/zkevm-contracts

Version:
1,968 lines 140 kB
{ "_format": "hh-sol-artifact-1", "contractName": "PolygonRollupManager", "sourceName": "contracts/v2/PolygonRollupManager.sol", "abi": [ { "inputs": [ { "internalType": "contract IPolygonZkEVMGlobalExitRootV2", "name": "_globalExitRootManager", "type": "address" }, { "internalType": "contract IERC20Upgradeable", "name": "_pol", "type": "address" }, { "internalType": "contract IPolygonZkEVMBridge", "name": "_bridgeAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlOnlyCanRenounceRolesForSelf", "type": "error" }, { "inputs": [], "name": "AddressDoNotHaveRequiredRole", "type": "error" }, { "inputs": [], "name": "AllzkEVMSequencedBatchesMustBeVerified", "type": "error" }, { "inputs": [], "name": "BatchFeeOutOfRange", "type": "error" }, { "inputs": [], "name": "ChainIDAlreadyExist", "type": "error" }, { "inputs": [], "name": "ExceedMaxVerifyBatches", "type": "error" }, { "inputs": [], "name": "FinalNumBatchBelowLastVerifiedBatch", "type": "error" }, { "inputs": [], "name": "FinalNumBatchDoesNotMatchPendingState", "type": "error" }, { "inputs": [], "name": "FinalPendingStateNumInvalid", "type": "error" }, { "inputs": [], "name": "HaltTimeoutNotExpired", "type": "error" }, { "inputs": [], "name": "InitBatchMustMatchCurrentForkID", "type": "error" }, { "inputs": [], "name": "InitNumBatchAboveLastVerifiedBatch", "type": "error" }, { "inputs": [], "name": "InitNumBatchDoesNotMatchPendingState", "type": "error" }, { "inputs": [], "name": "InvalidProof", "type": "error" }, { "inputs": [], "name": "InvalidRangeBatchTimeTarget", "type": "error" }, { "inputs": [], "name": "InvalidRangeMultiplierBatchFee", "type": "error" }, { "inputs": [], "name": "MustSequenceSomeBatch", "type": "error" }, { "inputs": [], "name": "NewAccInputHashDoesNotExist", "type": "error" }, { "inputs": [], "name": "NewPendingStateTimeoutMustBeLower", "type": "error" }, { "inputs": [], "name": "NewStateRootNotInsidePrime", "type": "error" }, { "inputs": [], "name": "NewTrustedAggregatorTimeoutMustBeLower", "type": "error" }, { "inputs": [], "name": "OldAccInputHashDoesNotExist", "type": "error" }, { "inputs": [], "name": "OldStateRootDoesNotExist", "type": "error" }, { "inputs": [], "name": "OnlyEmergencyState", "type": "error" }, { "inputs": [], "name": "OnlyNotEmergencyState", "type": "error" }, { "inputs": [], "name": "PendingStateDoesNotExist", "type": "error" }, { "inputs": [], "name": "PendingStateInvalid", "type": "error" }, { "inputs": [], "name": "PendingStateNotConsolidable", "type": "error" }, { "inputs": [], "name": "RollupAddressAlreadyExist", "type": "error" }, { "inputs": [], "name": "RollupMustExist", "type": "error" }, { "inputs": [], "name": "RollupTypeDoesNotExist", "type": "error" }, { "inputs": [], "name": "RollupTypeObsolete", "type": "error" }, { "inputs": [], "name": "SenderMustBeRollup", "type": "error" }, { "inputs": [], "name": "StoredRootMustBeDifferentThanNewRoot", "type": "error" }, { "inputs": [], "name": "TrustedAggregatorTimeoutNotExpired", "type": "error" }, { "inputs": [], "name": "UpdateNotCompatible", "type": "error" }, { "inputs": [], "name": "UpdateToSameRollupTypeID", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "indexed": false, "internalType": "address", "name": "rollupAddress", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "chainID", "type": "uint64" }, { "indexed": false, "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" }, { "indexed": false, "internalType": "uint64", "name": "lastVerifiedBatchBeforeUpgrade", "type": "uint64" } ], "name": "AddExistingRollup", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" }, { "indexed": false, "internalType": "address", "name": "consensusImplementation", "type": "address" }, { "indexed": false, "internalType": "address", "name": "verifier", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "indexed": false, "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" }, { "indexed": false, "internalType": "bytes32", "name": "genesis", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "description", "type": "string" } ], "name": "AddNewRollupType", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "indexed": false, "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "ConsolidatePendingState", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" }, { "indexed": false, "internalType": "address", "name": "rollupAddress", "type": "address" }, { "indexed": false, "internalType": "uint64", "name": "chainID", "type": "uint64" }, { "indexed": false, "internalType": "address", "name": "gasTokenAddress", "type": "address" } ], "name": "CreateNewRollup", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EmergencyStateActivated", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EmergencyStateDeactivated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" } ], "name": "ObsoleteRollupType", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "lastBatchSequenced", "type": "uint64" } ], "name": "OnSequenceBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "OverridePendingState", "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": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newBatchFee", "type": "uint256" } ], "name": "SetBatchFee", "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": "uint64", "name": "newVerifyBatchTimeTarget", "type": "uint64" } ], "name": "SetVerifyBatchTimeTarget", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "newRollupTypeID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "lastVerifiedBatchBeforeUpgrade", "type": "uint64" } ], "name": "UpdateRollup", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "VerifyBatches", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "indexed": false, "internalType": "uint64", "name": "numBatch", "type": "uint64" }, { "indexed": false, "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "aggregator", "type": "address" } ], "name": "VerifyBatchesTrustedAggregator", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "activateEmergencyState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "contract IPolygonRollupBase", "name": "rollupAddress", "type": "address" }, { "internalType": "contract IVerifierRollup", "name": "verifier", "type": "address" }, { "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "internalType": "uint64", "name": "chainID", "type": "uint64" }, { "internalType": "bytes32", "name": "genesis", "type": "bytes32" }, { "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" } ], "name": "addExistingRollup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "consensusImplementation", "type": "address" }, { "internalType": "contract IVerifierRollup", "name": "verifier", "type": "address" }, { "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" }, { "internalType": "bytes32", "name": "genesis", "type": "bytes32" }, { "internalType": "string", "name": "description", "type": "string" } ], "name": "addNewRollupType", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "uint64", "name": "chainID", "type": "uint64" } ], "name": "chainIDToRollupID", "outputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "consolidatePendingState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" }, { "internalType": "uint64", "name": "chainID", "type": "uint64" }, { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "sequencer", "type": "address" }, { "internalType": "address", "name": "gasTokenAddress", "type": "address" }, { "internalType": "string", "name": "sequencerURL", "type": "string" }, { "internalType": "string", "name": "networkName", "type": "string" } ], "name": "createNewRollup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deactivateEmergencyState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getBatchFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getForcedBatchFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "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": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" } ], "name": "getLastVerifiedBatch", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "internalType": "uint64", "name": "batchNum", "type": "uint64" } ], "name": "getRollupBatchNumToStateRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRollupExitRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "internalType": "uint64", "name": "batchNum", "type": "uint64" } ], "name": "getRollupPendingStateTransitions", "outputs": [ { "components": [ { "internalType": "uint64", "name": "timestamp", "type": "uint64" }, { "internalType": "uint64", "name": "lastVerifiedBatch", "type": "uint64" }, { "internalType": "bytes32", "name": "exitRoot", "type": "bytes32" }, { "internalType": "bytes32", "name": "stateRoot", "type": "bytes32" } ], "internalType": "struct LegacyZKEVMStateVariables.PendingState", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "internalType": "uint64", "name": "batchNum", "type": "uint64" } ], "name": "getRollupSequencedBatches", "outputs": [ { "components": [ { "internalType": "bytes32", "name": "accInputHash", "type": "bytes32" }, { "internalType": "uint64", "name": "sequencedTimestamp", "type": "uint64" }, { "internalType": "uint64", "name": "previousLastBatchSequenced", "type": "uint64" } ], "internalType": "struct LegacyZKEVMStateVariables.SequencedBatchData", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "globalExitRootManager", "outputs": [ { "internalType": "contract IPolygonZkEVMGlobalExitRootV2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "trustedAggregator", "type": "address" }, { "internalType": "uint64", "name": "_pendingStateTimeout", "type": "uint64" }, { "internalType": "uint64", "name": "_trustedAggregatorTimeout", "type": "uint64" }, { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "timelock", "type": "address" }, { "internalType": "address", "name": "emergencyCouncil", "type": "address" }, { "internalType": "contract PolygonZkEVMExistentEtrog", "name": "polygonZkEVM", "type": "address" }, { "internalType": "contract IVerifierRollup", "name": "zkEVMVerifier", "type": "address" }, { "internalType": "uint64", "name": "zkEVMForkID", "type": "uint64" }, { "internalType": "uint64", "name": "zkEVMChainID", "type": "uint64" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isEmergencyState", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "internalType": "uint64", "name": "pendingStateNum", "type": "uint64" } ], "name": "isPendingStateConsolidable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastAggregationTimestamp", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastDeactivatedEmergencyStateTimestamp", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "multiplierBatchFee", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" } ], "name": "obsoleteRollupType", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newSequencedBatches", "type": "uint64" }, { "internalType": "bytes32", "name": "newAccInputHash", "type": "bytes32" } ], "name": "onSequenceBatches", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "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": "pendingStateTimeout", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pol", "outputs": [ { "internalType": "contract IERC20Upgradeable", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "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": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "rollupAddress", "type": "address" } ], "name": "rollupAddressToID", "outputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rollupCount", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" } ], "name": "rollupIDToRollupData", "outputs": [ { "internalType": "contract IPolygonRollupBase", "name": "rollupContract", "type": "address" }, { "internalType": "uint64", "name": "chainID", "type": "uint64" }, { "internalType": "contract IVerifierRollup", "name": "verifier", "type": "address" }, { "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "internalType": "bytes32", "name": "lastLocalExitRoot", "type": "bytes32" }, { "internalType": "uint64", "name": "lastBatchSequenced", "type": "uint64" }, { "internalType": "uint64", "name": "lastVerifiedBatch", "type": "uint64" }, { "internalType": "uint64", "name": "lastPendingState", "type": "uint64" }, { "internalType": "uint64", "name": "lastPendingStateConsolidated", "type": "uint64" }, { "internalType": "uint64", "name": "lastVerifiedBatchBeforeUpgrade", "type": "uint64" }, { "internalType": "uint64", "name": "rollupTypeID", "type": "uint64" }, { "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rollupTypeCount", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupTypeID", "type": "uint32" } ], "name": "rollupTypeMap", "outputs": [ { "internalType": "address", "name": "consensusImplementation", "type": "address" }, { "internalType": "contract IVerifierRollup", "name": "verifier", "type": "address" }, { "internalType": "uint64", "name": "forkID", "type": "uint64" }, { "internalType": "uint8", "name": "rollupCompatibilityID", "type": "uint8" }, { "internalType": "bool", "name": "obsolete", "type": "bool" }, { "internalType": "bytes32", "name": "genesis", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newBatchFee", "type": "uint256" } ], "name": "setBatchFee", "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": "uint64", "name": "newTrustedAggregatorTimeout", "type": "uint64" } ], "name": "setTrustedAggregatorTimeout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint64", "name": "newVerifyBatchTimeTarget", "type": "uint64" } ], "name": "setVerifyBatchTimeTarget", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSequencedBatches", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalVerifiedBatches", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "trustedAggregatorTimeout", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract ITransparentUpgradeableProxy", "name": "rollupContract", "type": "address" }, { "internalType": "uint32", "name": "newRollupTypeID", "type": "uint32" }, { "internalType": "bytes", "name": "upgradeData", "type": "bytes" } ], "name": "updateRollup", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "verifyBatchTimeTarget", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "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": "address", "name": "beneficiary", "type": "address" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "verifyBatches", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "rollupID", "type": "uint32" }, { "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": "address", "name": "beneficiary", "type": "address" }, { "internalType": "bytes32[24]", "name": "proof", "type": "bytes32[24]" } ], "name": "verifyBatchesTrustedAggregator", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60e06040523480156200001157600080fd5b5060405162005f2538038062005f2583398101604081905262000034916200013b565b6001600160a01b0380841660805282811660c052811660a0526200005762000060565b5050506200018f565b600054610100900460ff1615620000cd5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101562000120576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013857600080fd5b50565b6000806000606084860312156200015157600080fd5b83516200015e8162000122565b6020850151909350620001718162000122565b6040850151909250620001848162000122565b809150509250925092565b60805160a05160c051615d2e620001f760003960008181610a2f0152818161218a0152613add0152600081816107e701528181612d3e0152613dd8015260008181610989015281816111e20152818161139201528181611ecb0152613cc70152615d2e6000f3fe60806040523480156200001157600080fd5b5060043610620003155760003560e01c8063841b24d711620001a9578063c1acbc3411620000f7578063dbc16976116200009e578063dbc1697614620009ed578063dde0ff7714620009f7578063e0bfd3d21462000a12578063e46761c41462000a29578063f34eb8eb1462000a51578063f4e926751462000a68578063f9c4c2ae1462000a7957600080fd5b8063c1acbc341462000928578063c4c928c21462000943578063ceee281d146200095a578063d02103ca1462000983578063d5073f6f14620009ab578063d547741f14620009c2578063d939b31514620009d957600080fd5b80639c9f3dfe116200015c5780639c9f3dfe14620007a0578063a066215c14620007b7578063a217fddf14620007ce578063a2967d9914620007d7578063a3c573eb14620007e1578063afd23cbe1462000822578063b99d0ad7146200084c57600080fd5b8063841b24d7146200071f57806387c20c01146200073a5780638bd4f071146200075157806391d14854146200076857806399f5634e146200077f5780639a908e73146200078957600080fd5b806325280169116200026757806355a71ee0116200021a57806355a71ee014620005a55780636046916914620005e957806365c0504d14620005f35780637222020f14620006a2578063727885e914620006b95780637975fcfe14620006d05780637fb6e76a14620006f657600080fd5b806325280169146200048e5780632f2ff15d146200054357806330c27dde146200055a57806336568abe146200056e578063394218e91462000585578063477fa270146200059c57600080fd5b80631489ed1011620002cc5780631489ed1014620003d557806315064c9614620003ec5780631608859c14620003fa5780631796a1ae14620004115780631816b7e514620004385780632072f6c5146200044f578063248a9ca3146200045957600080fd5b80630645af09146200031a578063066ec0121462000333578063080b311114620003645780630a0d9fbe146200038c57806311f6b28714620003a757806312b86e1914620003be575b600080fd5b620003316200032b36600462004794565b62000b90565b005b60845462000347906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b6200037b6200037536600462004884565b620010ec565b60405190151581526020016200035b565b6085546200034790600160401b90046001600160401b031681565b62000347620003b8366004620048bc565b62001116565b62000331620003cf366004620048ed565b62001136565b62000331620003e636600462004984565b620012e6565b606f546200037b9060ff1681565b620003316200040b36600462004884565b6200147c565b607e54620004229063ffffffff1681565b60405163ffffffff90911681526020016200035b565b620003316200044936600462004a0e565b62001511565b62000331620015bd565b6200047f6200046a36600462004a3b565b60009081526034602052604090206001015490565b6040519081526020016200035b565b6200050f6200049f36600462004884565b60408051606080820183526000808352602080840182905292840181905263ffffffff959095168552608182528285206001600160401b03948516865260030182529382902082519485018352805485526001015480841691850191909152600160401b90049091169082015290565b60408051825181526020808401516001600160401b039081169183019190915292820151909216908201526060016200035b565b620003316200055436600462004a55565b62001683565b60875462000347906001600160401b031681565b620003316200057f36600462004a55565b620016ac565b620003316200059636600462004a88565b620016e6565b6086546200047f565b6200047f620005b636600462004884565b63ffffffff821660009081526081602090815260408083206001600160401b038516845260020190915290205492915050565b6200047f6200179a565b6200065862000604366004620048bc565b607f602052600090815260409020805460018201546002909201546001600160a01b0391821692918216916001600160401b03600160a01b8204169160ff600160e01b8304811692600160e81b9004169086565b604080516001600160a01b0397881681529690951660208701526001600160401b039093169385019390935260ff166060840152901515608083015260a082015260c0016200035b565b62000331620006b3366004620048bc565b620017b2565b62000331620006ca36600462004b50565b620018ae565b620006e7620006e136600462004c1d565b62001d27565b6040516200035b919062004cd7565b620004226200070736600462004a88565b60836020526000908152604090205463ffffffff1681565b6084546200034790600160c01b90046001600160401b031681565b620003316200074b36600462004984565b62001d5a565b6200033162000762366004620048ed565b62002084565b6200037b6200077936600462004a55565b6200213d565b6200047f62002168565b620003476200079a36600462004cec565b6200224f565b62000331620007b136600462004a88565b62002421565b62000331620007c836600462004a88565b620024c7565b6200047f600081565b6200047f6200256b565b620008097f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016200035b565b6085546200083890600160801b900461ffff1681565b60405161ffff90911681526020016200035b565b620008e26200085d36600462004884565b604080516080808201835260008083526020808401829052838501829052606093840182905263ffffffff969096168152608186528381206001600160401b03958616825260040186528390208351918201845280548086168352600160401b9004909416948101949094526001830154918401919091526002909101549082015290565b6040516200035b919060006080820190506001600160401b0380845116835280602085015116602084015250604083015160408301526060830151606083015292915050565b6084546200034790600160801b90046001600160401b031681565b620003316200095436600462004d19565b62002940565b620004226200096b36600462004db1565b60826020526000908152604090205463ffffffff1681565b620008097f000000000000000000000000000000000000000000000000000000000000000081565b62000331620009bc36600462004a3b565b62002c1f565b62000331620009d336600462004a55565b62002cbb565b60855462000347906001600160401b031681565b6200033162002ce4565b6084546200034790600160401b90046001600160401b031681565b6200033162000a2336600462004de3565b62002db4565b620008097f000000000000000000000000000000000000000000000000000000000000000081565b6200033162000a6236600462004e5f565b62002e8d565b608054620004229063ffffffff1681565b62000b1062000a8a366004620048bc565b60816020526