@zero-tech/zkevm-contracts
Version:
Core contracts for the Polygon Hermez zkEVM
2,019 lines • 144 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PolygonRollupManagerMock",
"sourceName": "contracts/v2/mocks/PolygonRollupManagerMock.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": [
{
"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"
}
],
"name": "initializeMock",
"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": "bytes32[]",
"name": "localExitRoots",
"type": "bytes32[]"
}
],
"name": "prepareMockCalculateRoot",
"outputs": [],
"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": "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": "0x60e060405234801562000010575f80fd5b50604051620061893803806200618983398101604081905262000033916200013c565b6001600160a01b0380841660805280831660c052811660a0528282826200005962000065565b5050505050506200018d565b5f54610100900460ff1615620000d15760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff908116101562000122575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b038116811462000139575f80fd5b50565b5f805f606084860312156200014f575f80fd5b83516200015c8162000124565b60208501519093506200016f8162000124565b6040850151909250620001828162000124565b809150509250925092565b60805160a05160c051615f99620001f05f395f81816109d2015281816122910152613b0d01525f818161079a01528181612de50152613dfb01525f818161092c015281816112e90152818161149101528181611f7b0152613cf00152615f995ff3fe608060405234801562000010575f80fd5b5060043610620002b4575f3560e01c80630645af0914620002b8578063066ec01214620002d1578063080b311114620002fd5780630a0d9fbe14620003255780630e36f582146200034057806311f6b287146200035757806312b86e19146200036e5780631489ed10146200038557806315064c96146200039c5780631608859c14620003aa5780631796a1ae14620003c15780631816b7e514620003e85780632072f6c514620003ff578063248a9ca3146200040957806325280169146200042f5780632f2ff15d14620004e357806330c27dde14620004fa57806336568abe146200050e578063394218e91462000525578063477fa270146200053c57806355a71ee0146200054557806360469169146200058857806365c0504d14620005925780637222020f1462000640578063727885e914620006575780637975fcfe146200066e5780637fb6e76a1462000694578063841b24d714620006bc57806387c20c0114620006d75780638bd4f07114620006ee5780638f698ec5146200070557806391d14854146200071c57806399f5634e14620007335780639a908e73146200073d5780639c9f3dfe1462000754578063a066215c146200076b578063a217fddf1462000782578063a2967d99146200078a578063a3c573eb1462000794578063afd23cbe14620007cb578063b99d0ad714620007f5578063c1acbc3414620008cc578063c4c928c214620008e7578063ceee281d14620008fe578063d02103ca1462000926578063d5073f6f146200094e578063d547741f1462000965578063d939b315146200097c578063dbc169761462000990578063dde0ff77146200099a578063e0bfd3d214620009b5578063e46761c414620009cc578063f34eb8eb14620009f4578063f4e926751462000a0b578063f9c4c2ae1462000a1c575b5f80fd5b620002cf620002c936600462004795565b62000b32565b005b608454620002e5906001600160401b031681565b604051620002f491906200486a565b60405180910390f35b620003146200030e36600462004892565b62000f61565b6040519015158152602001620002f4565b608554620002e590600160401b90046001600160401b031681565b620002cf62000351366004620048c8565b62000f8a565b620002e5620003683660046200494f565b62001221565b620002cf6200037f3660046200497d565b62001240565b620002cf6200039636600462004a0f565b620013e8565b606f54620003149060ff1681565b620002cf620003bb36600462004892565b62001570565b607e54620003d29063ffffffff1681565b60405163ffffffff9091168152602001620002f4565b620002cf620003f936600462004a94565b62001603565b620002cf620016ae565b620004206200041a36600462004abe565b62001773565b604051908152602001620002f4565b620004af6200044036600462004892565b60408051606080820183525f808352602080840182905292840181905263ffffffff959095168552608182528285206001600160401b03948516865260030182529382902082519485018352805485526001015480841691850191909152600160401b90049091169082015290565b60408051825181526020808401516001600160401b03908116918301919091529282015190921690820152606001620002f4565b620002cf620004f436600462004ad6565b62001787565b608754620002e5906001600160401b031681565b620002cf6200051f36600462004ad6565b620017a9565b620002cf6200053636600462004b07565b620017e3565b60865462000420565b620004206200055636600462004892565b63ffffffff82165f9081526081602090815260408083206001600160401b038516845260020190915290205492915050565b6200042062001891565b620005f6620005a33660046200494f565b607f6020525f90815260409020805460018201546002909201546001600160a01b0391821692918216916001600160401b03600160a01b8204169160ff600160e01b8304811692600160e81b9004169086565b604080516001600160a01b0397881681529690951660208701526001600160401b039093169385019390935260ff166060840152901515608083015260a082015260c001620002f4565b620002cf620006513660046200494f565b620018a8565b620002cf6200066836600462004bdc565b62001990565b620006856200067f36600462004ca2565b62001ddb565b604051620002f4919062004d55565b620003d2620006a536600462004b07565b60836020525f908152604090205463ffffffff1681565b608454620002e590600160c01b90046001600160401b031681565b620002cf620006e836600462004a0f565b62001e0d565b620002cf620006ff3660046200497d565b62002128565b620002cf6200071636600462004d69565b620021df565b620003146200072d36600462004ad6565b62002263565b620004206200228d565b620002e56200074e36600462004e14565b62002373565b620002cf6200076536600462004b07565b6200253a565b620002cf6200077c36600462004b07565b620025dc565b620004205f81565b620004206200267a565b620007bc7f000000000000000000000000000000000000000000000000000000000000000081565b604051620002f4919062004e3f565b608554620007e190600160801b900461ffff1681565b60405161ffff9091168152602001620002f4565b6200088a6200080636600462004892565b60408051608080820183525f8083526020808401829052838501829052606093840182905263ffffffff96909616815260818652838120600160