Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions deploy-config/local.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
"baseFeeVaultWithdrawalNetwork": 0,
"batchSenderAddress": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
"disputeGameFinalityDelaySeconds": 302400,
"faultGameAbsolutePrestate": "0x0000000000000000000000000000000000000000000000000000000000000000",
"faultGameGenesisBlock": 0,
"faultGameGenesisOutputRoot": "0xDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF",
"faultGameWithdrawalDelay": 302400,
"delayedWETHWithdrawalDelay": 302400,
"finalSystemOwner": "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc",
"fundDevAccounts": true,
"gasPriceOracleBaseFeeScalar": 1368,
Expand All @@ -18,8 +15,6 @@
"l1FeeVaultWithdrawalNetwork": 0,
"l2ChainId": 901,
"l2GenesisBlockGasLimit": "0x17D7840",
"l2OutputOracleProposer": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
"l2OutputOracleChallenger": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"l2OutputOracleStartingBlockNumber": 1,
"l2OutputOracleStartingTimestamp": 1,
"multiproofBlockInterval": 100,
Expand All @@ -33,11 +28,9 @@
"operatorFeeVaultRecipient": "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec",
"operatorFeeVaultWithdrawalNetwork": 0,
"p2pSequencerAddress": "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc",
"preimageOracleChallengePeriod": 86400,
"preimageOracleMinProposalSize": 126000,
"proofMaturityDelaySeconds": 604800,
"proxyAdminOwner": "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc",
"respectedGameType": 0,
"respectedGameType": 621,
"sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"sequencerFeeVaultRecipient": "0xfabb0ac9d68b0b445fb7357272ff202c5651694a",
"sequencerFeeVaultWithdrawalNetwork": 0,
Expand Down
13 changes: 3 additions & 10 deletions deploy-config/mainnet.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
"baseFeeVaultWithdrawalNetwork": 0,
"batchSenderAddress": "0x6887246668a3b87F54DeB3b94Ba47a6f63F32985",
"disputeGameFinalityDelaySeconds": 302400,
"faultGameAbsolutePrestate": "0x038512e02c4c3f7bdaec27d00edf55b7155e0905301e1a88083e4e0a6764d54c",
"faultGameGenesisBlock": 120059863,
"faultGameGenesisOutputRoot": "0x2694ac14dcf54b7a77363e3f60e6462dc78da0d43d1e2f058dbb6a1488814977",
"faultGameWithdrawalDelay": 604800,
"delayedWETHWithdrawalDelay": 604800,
"finalSystemOwner": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"gasPriceOracleBaseFeeScalar": 1368,
"gasPriceOracleBlobBaseFeeScalar": 810949,
Expand All @@ -17,26 +14,22 @@
"l1FeeVaultWithdrawalNetwork": 0,
"l2ChainId": 10,
"l2GenesisBlockGasLimit": "0x1c9c380",
"l2OutputOracleProposer": "0x473300df21D047806A082244b417f96b32f13A33",
"l2OutputOracleChallenger": "0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A",
"l2OutputOracleStartingBlockNumber": 105235063,
"l2OutputOracleStartingTimestamp": 1686068903,
"multiproofBlockInterval": 600,
"multiproofConfigHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"multiproofGameType": 621,
"multiproofGenesisBlockNumber": 0,
"multiproofGenesisOutputRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"multiproofGenesisOutputRoot": "0x0000000000000000000000000000000000000000000000000000000000000001",
"multiproofIntermediateBlockInterval": 30,
"nitroEnclaveVerifier": "0x0000000000000000000000000000000000000000",
"operatorFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"operatorFeeVaultRecipient": "0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa",
"operatorFeeVaultWithdrawalNetwork": 0,
"p2pSequencerAddress": "0xAAAA45d9549EDA09E70937013520214382Ffc4A2",
"preimageOracleChallengePeriod": 86400,
"preimageOracleMinProposalSize": 126000,
"proofMaturityDelaySeconds": 604800,
"proxyAdminOwner": "0x7871d1187A97cbbE40710aC119AA3d412944e4Fe",
"respectedGameType": 0,
"respectedGameType": 621,
"sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"sequencerFeeVaultRecipient": "0xa3d596EAfaB6B13Ab18D40FaE1A962700C84ADEa",
"sequencerFeeVaultWithdrawalNetwork": 0,
Expand Down
11 changes: 2 additions & 9 deletions deploy-config/sepolia.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,7 @@
"baseFeeVaultWithdrawalNetwork": 0,
"batchSenderAddress": "0x8F23BB38F531600e5d8FDDaAEC41F13FaB46E98c",
"disputeGameFinalityDelaySeconds": 302400,
"faultGameAbsolutePrestate": "0x03b7eaa4e3cbce90381921a4b48008f4769871d64f93d113fcadca08ecee503b",
"faultGameGenesisBlock": 9496192,
"faultGameGenesisOutputRoot": "0x63b1cda487c072b020a57c1203f7c2921754005cadbd54bed7f558111b8278d8",
"faultGameWithdrawalDelay": 604800,
"delayedWETHWithdrawalDelay": 604800,
"finalSystemOwner": "0x6e427c3212C0b63BE0C382F97715D49b011bFF33",
"gasPriceOracleBaseFeeScalar": 1368,
"gasPriceOracleBlobBaseFeeScalar": 810949,
Expand All @@ -17,8 +14,6 @@
"l1FeeVaultWithdrawalNetwork": 0,
"l2ChainId": 11155420,
"l2GenesisBlockGasLimit": "0x1c9c380",
"l2OutputOracleProposer": "0x49277EE36A024120Ee218127354c4a3591dc90A9",
"l2OutputOracleChallenger": "0xfd1D2e729aE8eEe2E146c033bf4400fE75284301",
"l2OutputOracleStartingBlockNumber": 0,
"l2OutputOracleStartingTimestamp": 1690493568,
"multiproofBlockInterval": 600,
Expand All @@ -32,11 +27,9 @@
"operatorFeeVaultRecipient": "0xfd1D2e729aE8eEe2E146c033bf4400fE75284301",
"operatorFeeVaultWithdrawalNetwork": 0,
"p2pSequencerAddress": "0x57CACBB0d30b01eb2462e5dC940c161aff3230D3",
"preimageOracleChallengePeriod": 86400,
"preimageOracleMinProposalSize": 126000,
"proofMaturityDelaySeconds": 604800,
"proxyAdminOwner": "0xfd1D2e729aE8eEe2E146c033bf4400fE75284301",
"respectedGameType": 0,
"respectedGameType": 621,
"sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"sequencerFeeVaultRecipient": "0xfd1D2e729aE8eEe2E146c033bf4400fE75284301",
"sequencerFeeVaultWithdrawalNetwork": 0,
Expand Down
4 changes: 0 additions & 4 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ additional_compiler_profiles = [
]
compilation_restrictions = [
{ paths = "src/L1/proofs/DisputeGameFactory.sol", optimizer_runs = 5000 },
{ paths = "src/L1/proofs/v2/FaultDisputeGameV2.sol", optimizer_runs = 5000 },
{ paths = "src/L1/proofs/v2/PermissionedDisputeGameV2.sol", optimizer_runs = 5000 },
{ paths = "src/L1/OptimismPortal2.sol", optimizer_runs = 5000 },
{ paths = "src/L1/SystemConfig.sol", optimizer_runs = 5000 },
{ paths = "src/universal/OptimismMintableERC20Factory.sol", optimizer_runs = 5000 },
Expand Down Expand Up @@ -140,8 +138,6 @@ additional_compiler_profiles = [
]
compilation_restrictions = [
{ paths = "src/L1/proofs/DisputeGameFactory.sol", optimizer_runs = 0 },
{ paths = "src/L1/proofs/v2/FaultDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/L1/proofs/v2/PermissionedDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/L1/OptimismPortal2.sol", optimizer_runs = 0 },
{ paths = "src/L1/SystemConfig.sol", optimizer_runs = 0 },
{ paths = "src/universal/OptimismMintableERC20Factory.sol", optimizer_runs = 0 },
Expand Down
10 changes: 0 additions & 10 deletions interfaces/L1/IHasSuperchainConfig.sol

This file was deleted.

20 changes: 0 additions & 20 deletions interfaces/L1/IL1CrossDomainMessengerV160.sol

This file was deleted.

75 changes: 0 additions & 75 deletions interfaces/L1/IL1StandardBridgeV160.sol

This file was deleted.

65 changes: 65 additions & 0 deletions interfaces/L1/proofs/IAggregateVerifier.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { IDisputeGame } from "./IDisputeGame.sol";
import { IDisputeGameFactory } from "./IDisputeGameFactory.sol";
import { IDelayedWETH } from "./IDelayedWETH.sol";
import { IVerifier } from "./IVerifier.sol";
import { Proposal, Hash } from "src/libraries/bridge/Types.sol";
import { Timestamp } from "src/libraries/bridge/LibUDT.sol";

interface IAggregateVerifier is IDisputeGame {
function SLOW_FINALIZATION_DELAY() external view returns (uint64);
function FAST_FINALIZATION_DELAY() external view returns (uint64);
function EIP2935_CONTRACT() external view returns (address);
function BLOCKHASH_WINDOW() external view returns (uint256);
function EIP2935_WINDOW() external view returns (uint256);
function PROOF_THRESHOLD() external view returns (uint256);
function DISPUTE_GAME_FACTORY() external view returns (IDisputeGameFactory);
function DELAYED_WETH() external view returns (IDelayedWETH);
function TEE_VERIFIER() external view returns (IVerifier);
function TEE_IMAGE_HASH() external view returns (bytes32);
function ZK_VERIFIER() external view returns (IVerifier);
function ZK_RANGE_HASH() external view returns (bytes32);
function ZK_AGGREGATE_HASH() external view returns (bytes32);
function CONFIG_HASH() external view returns (bytes32);
function L2_CHAIN_ID() external view returns (uint256);
function BLOCK_INTERVAL() external view returns (uint256);
function INTERMEDIATE_BLOCK_INTERVAL() external view returns (uint256);

function startingOutputRoot() external view returns (Proposal memory);
function bondRecipient() external view returns (address);
function bondUnlocked() external view returns (bool);
function bondClaimed() external view returns (bool);
function bondAmount() external view returns (uint256);
function counteredByIntermediateRootIndexPlusOne() external view returns (uint256);
function expectedResolution() external view returns (Timestamp);
function proofCount() external view returns (uint8);

function initializeWithInitData(bytes calldata proof) external payable;
function verifyProposalProof(bytes calldata proofBytes) external;
function challenge(
bytes calldata proofBytes,
uint256 intermediateRootIndex,
bytes32 intermediateRootToProve
)
external;
function nullify(
bytes calldata proofBytes,
uint256 intermediateRootIndex,
bytes32 intermediateRootToProve
)
external;
function claimCredit() external;
function closeGame() external;

function startingBlockNumber() external view returns (uint256);
function startingRootHash() external view returns (Hash);
function teeProver() external view returns (address);
function zkProver() external view returns (address);
function gameOver() external view returns (bool);
function intermediateOutputRootsCount() external view returns (uint256);
function intermediateOutputRoots() external view returns (bytes memory);
function intermediateOutputRoot(uint256 index) external view returns (bytes32);
function parentAddress() external pure returns (address);
}
5 changes: 2 additions & 3 deletions interfaces/L1/proofs/IAnchorStateRegistry.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
pragma solidity ^0.8.0;

import { IDisputeGame } from "interfaces/L1/proofs/IDisputeGame.sol";
import { IFaultDisputeGameV2 } from "interfaces/L1/proofs/v2/IFaultDisputeGameV2.sol";
import { IDisputeGameFactory } from "interfaces/L1/proofs/IDisputeGameFactory.sol";
import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
import { GameType, Hash, Proposal } from "src/libraries/bridge/Types.sol";
Expand All @@ -14,14 +13,14 @@ interface IAnchorStateRegistry is IProxyAdminOwnedBase {
error AnchorStateRegistry_Unauthorized();
error ReinitializableBase_ZeroInitVersion();

event AnchorUpdated(IFaultDisputeGameV2 indexed game);
event AnchorUpdated(IDisputeGame indexed game);
event DisputeGameBlacklisted(IDisputeGame indexed disputeGame);
event Initialized(uint8 version);
event RespectedGameTypeSet(GameType gameType);
event RetirementTimestampSet(uint256 timestamp);

function initVersion() external view returns (uint8);
function anchorGame() external view returns (IFaultDisputeGameV2);
function anchorGame() external view returns (IDisputeGame);
function anchors(GameType) external view returns (Hash, uint256);
function blacklistDisputeGame(IDisputeGame _disputeGame) external;
function disputeGameBlacklist(IDisputeGame) external view returns (bool);
Expand Down
45 changes: 0 additions & 45 deletions interfaces/L1/proofs/IBigStepper.sol

This file was deleted.

5 changes: 4 additions & 1 deletion interfaces/L1/proofs/IDisputeGame.sol
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
pragma solidity ^0.8.0;

import { IInitializable } from "interfaces/L1/proofs/IInitializable.sol";
import { Timestamp, GameStatus, GameType, Claim, Hash } from "src/libraries/bridge/Types.sol";
import { IAnchorStateRegistry } from "./IAnchorStateRegistry.sol";
import { GameStatus, GameType, Hash } from "src/libraries/bridge/Types.sol";
import { Timestamp, Claim } from "src/libraries/bridge/LibUDT.sol";

interface IDisputeGame is IInitializable {
event Resolved(GameStatus indexed status);
Expand All @@ -19,4 +21,5 @@ interface IDisputeGame is IInitializable {
function resolve() external returns (GameStatus status_);
function gameData() external view returns (GameType gameType_, Claim rootClaim_, bytes memory extraData_);
function wasRespectedGameTypeWhenCreated() external view returns (bool);
function anchorStateRegistry() external view returns (IAnchorStateRegistry);
}
Loading
Loading