Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
0b4486d
feat: opcm with zk and tests
ashitakah Mar 20, 2026
edea1aa
fix: remove constructor semgrep
ashitakah Mar 20, 2026
56c0a87
fix: fixing ugrade test
ashitakah Mar 20, 2026
a4dcc01
feat: go params
ashitakah Mar 25, 2026
0e3c449
fix: update semgrep excludes
ashitakah Mar 25, 2026
727cbe9
fix: update semgrep excludes
ashitakah Mar 25, 2026
b9175a8
fix: merge with develop
ashitakah Mar 26, 2026
9ed2c9e
fix: cast interface
ashitakah Mar 26, 2026
2fb15b7
fix: comments and tests
ashitakah Mar 27, 2026
fdfe36c
feat: checks in upgrade
ashitakah Mar 30, 2026
71424ba
fix: remove
ashitakah Mar 30, 2026
04da818
feat: container in utils
ashitakah Mar 30, 2026
8cfff5b
fix: setup types
ashitakah Mar 30, 2026
08efe6a
fix: ci needs zk game
ashitakah Mar 30, 2026
b98bf13
fix: ci
ashitakah Mar 30, 2026
dd3849f
fix: opcm and utils
ashitakah Mar 30, 2026
5ab04bf
fix: opcm and utils
ashitakah Mar 30, 2026
0705b6b
fix: ci needs zk game upgrade
ashitakah Mar 30, 2026
cf3bdf4
fix: comments and merge with develop
ashitakah Mar 31, 2026
3e1a96f
fix: mrge
ashitakah Mar 31, 2026
6dba829
fix: merge with dev
ashitakah Mar 31, 2026
51b6d04
fix: tests bug and merge
ashitakah Mar 31, 2026
2354fe1
feat: revert short
ashitakah Mar 31, 2026
77c7273
feat: revert short
ashitakah Mar 31, 2026
6e94142
fix: reordering games
ashitakah Mar 31, 2026
4a1f124
fix: opcmv2 tests
ashitakah Mar 31, 2026
ec22641
fix: remove duplicate
ashitakah Mar 31, 2026
ead9121
fix: remove duplicate
ashitakah Mar 31, 2026
f8bc214
Merge branch 'develop' of github.com:defi-wonderland/optimism into fe…
ashitakah Apr 1, 2026
ae046d2
fix: deploy super root
ashitakah Apr 1, 2026
b6dabfe
fix: validator test
ashitakah Apr 1, 2026
2b2f6cb
fix: comments
ashitakah Apr 1, 2026
b3450d7
fix: comments
ashitakah Apr 1, 2026
91e48e9
fix: develo conflics
ashitakah Apr 6, 2026
35eb857
fix: merge with dev
ashitakah Apr 6, 2026
eb7c3b3
Merge branch 'ethereum-optimism:develop' into feat/opcm-zk-roots
ashitakah Apr 7, 2026
3aa2d52
fix: lint
ashitakah Apr 7, 2026
2ab5cfc
fix: ci
ashitakah Apr 7, 2026
1c64c10
Merge branch 'develop' of github.com:defi-wonderland/optimism into fe…
ashitakah Apr 8, 2026
88cedad
fix: comments
ashitakah Apr 8, 2026
dda1570
fix: pre pr
ashitakah Apr 8, 2026
5a17989
fix: ci go game type
ashitakah Apr 8, 2026
fea4c7b
Merge branch 'develop' of github.com:defi-wonderland/optimism into fe…
ashitakah Apr 8, 2026
8b5e741
fix: pre pr
ashitakah Apr 8, 2026
2f17f64
fix: merge with dev
ashitakah Apr 8, 2026
577c293
fix: conflics
ashitakah Apr 10, 2026
3a99406
fix: comment
ashitakah Apr 14, 2026
d446f63
fix: comment
ashitakah Apr 14, 2026
1cfa595
feat: validator and size issue
ashitakah Apr 14, 2026
9042e8f
fix: tests
ashitakah Apr 14, 2026
3246750
fix: tests
ashitakah Apr 14, 2026
503c817
fix: tests
ashitakah Apr 14, 2026
94dd05c
fix: expected validator
ashitakah Apr 14, 2026
d07250f
fix: stack too deep
ashitakah Apr 14, 2026
0529844
test: increase test coverage
0xChin Apr 15, 2026
e930adb
fix(ci): broken upgarde tests
0xChin Apr 15, 2026
a5d739d
fix(ci): broken upgarde tests
0xChin Apr 15, 2026
0760a6f
chore: increase OPCM validator version and increase test coverage
0xChin Apr 15, 2026
6bf0ec1
refactor: undo unrelated changes
0xChin Apr 15, 2026
96dd1d6
erge branch 'develop' into feat/opcm-zk-roots
0xChin Apr 15, 2026
b169c5b
fix: regenerate NUT bundle with current forge artifacts
0xChin Apr 15, 2026
6967086
refactor: move validZkArgs check to LibGameArgs
0xChin Apr 15, 2026
5f379b8
fix: nut bundle
0xChin Apr 15, 2026
441e60e
fix: nut bundle
0xChin Apr 15, 2026
ce118ff
fix: nut bundle
0xChin Apr 15, 2026
208be1b
chore: bump OPCMV2 version
0xChin Apr 16, 2026
6f8160e
Merge branch 'develop' into feat/opcm-zk-roots
0xChin Apr 16, 2026
59c82f3
Merge remote-tracking branch 'origin/develop' into feat/opcm-zk-roots
ashitakah Apr 16, 2026
19cadac
Merge branch 'develop' of github.com:defi-wonderland/optimism into fe…
ashitakah Apr 16, 2026
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
1 change: 1 addition & 0 deletions op-chain-ops/interopgen/deployments.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ type Implementations struct {
PermissionedDisputeGameImpl common.Address `json:"PermissionedDisputeGameImpl"`
SuperFaultDisputeGameImpl common.Address `json:"SuperFaultDisputeGameImpl"`
SuperPermissionedDisputeGameImpl common.Address `json:"SuperPermissionedDisputeGameImpl"`
ZkDisputeGameImpl common.Address `json:"ZkDisputeGameImpl"`
StorageSetterImpl common.Address `json:"StorageSetterImpl"`
}

Expand Down
33 changes: 23 additions & 10 deletions op-deployer/pkg/deployer/integration_test/apply_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1012,6 +1012,11 @@ func runEndToEndBootstrapAndApplyUpgradeTest(t *testing.T, afactsFS foundry.Stat
InitBond: big.NewInt(0),
GameType: embedded.GameTypeSuperCannonKona,
},
{
Enabled: false,
InitBond: big.NewInt(0),
GameType: embedded.GameTypeZKDisputeGame,
},
},
ExtraInstructions: []embedded.ExtraInstruction{
{
Expand All @@ -1034,27 +1039,29 @@ func runEndToEndBootstrapAndApplyUpgradeTest(t *testing.T, afactsFS foundry.Stat
// Structure breakdown:
// - Tuple offset (0x20)
// - SystemConfig address (0x034edd2a225f7f429a63e0f1d2084b9e0a93b538)
// - DisputeGameConfigs array offset (0x60) and ExtraInstructions array offset (0x580)
// - DisputeGameConfigs[]: 6 configs
// - DisputeGameConfigs array offset (0x60) and ExtraInstructions array offset (0x640)
// - DisputeGameConfigs[]: 7 configs
// [0] Cannon: enabled=true, initBond=1e18, gameType=0, gameArgs="PRESTATE"
// [1] PermissionedCannon: enabled=true, initBond=1e18, gameType=1, gameArgs="PRESTATE"+proposer+challenger
// [2] CannonKona: enabled=false, initBond=0, gameType=8, gameArgs=empty
// [3] SuperCannon: enabled=false, initBond=0, gameType=4, gameArgs=empty
// [4] SuperPermCannon: enabled=false, initBond=0, gameType=5, gameArgs=empty
// [5] SuperCannonKona: enabled=false, initBond=0, gameType=9, gameArgs=empty
// [6] ZKDisputeGame: enabled=false, initBond=0, gameType=10, gameArgs=empty
// - ExtraInstructions[]: 1 instruction
// [0] key="PermittedProxyDeployment", data="DelayedWETH"
expected := "0000000000000000000000000000000000000000000000000000000000000020" + // offset to tuple
"000000000000000000000000034edd2a225f7f429a63e0f1d2084b9e0a93b538" + // systemConfig address
"0000000000000000000000000000000000000000000000000000000000000060" + // offset to disputeGameConfigs
"0000000000000000000000000000000000000000000000000000000000000580" + // offset to extraInstructions
"0000000000000000000000000000000000000000000000000000000000000006" + // disputeGameConfigs.length (6)
"00000000000000000000000000000000000000000000000000000000000000c0" + // offset to disputeGameConfigs[0]
"0000000000000000000000000000000000000000000000000000000000000180" + // offset to disputeGameConfigs[1]
"0000000000000000000000000000000000000000000000000000000000000280" + // offset to disputeGameConfigs[2]
"0000000000000000000000000000000000000000000000000000000000000320" + // offset to disputeGameConfigs[3]
"00000000000000000000000000000000000000000000000000000000000003c0" + // offset to disputeGameConfigs[4]
"0000000000000000000000000000000000000000000000000000000000000460" + // offset to disputeGameConfigs[5]
"0000000000000000000000000000000000000000000000000000000000000640" + // offset to extraInstructions
"0000000000000000000000000000000000000000000000000000000000000007" + // disputeGameConfigs.length (7)
"00000000000000000000000000000000000000000000000000000000000000e0" + // offset to disputeGameConfigs[0]
"00000000000000000000000000000000000000000000000000000000000001a0" + // offset to disputeGameConfigs[1]
"00000000000000000000000000000000000000000000000000000000000002a0" + // offset to disputeGameConfigs[2]
"0000000000000000000000000000000000000000000000000000000000000340" + // offset to disputeGameConfigs[3]
"00000000000000000000000000000000000000000000000000000000000003e0" + // offset to disputeGameConfigs[4]
"0000000000000000000000000000000000000000000000000000000000000480" + // offset to disputeGameConfigs[5]
"0000000000000000000000000000000000000000000000000000000000000520" + // offset to disputeGameConfigs[6]
// DisputeGameConfigs[0] - Cannon
"0000000000000000000000000000000000000000000000000000000000000001" + // enabled=true
"0000000000000000000000000000000000000000000000000de0b6b3a7640000" + // initBond=1e18
Expand Down Expand Up @@ -1095,6 +1102,12 @@ func runEndToEndBootstrapAndApplyUpgradeTest(t *testing.T, afactsFS foundry.Stat
"0000000000000000000000000000000000000000000000000000000000000009" + // gameType=9 (SuperCannonKona)
"0000000000000000000000000000000000000000000000000000000000000080" + // offset to gameArgs
"0000000000000000000000000000000000000000000000000000000000000000" + // gameArgs.length (0)
// DisputeGameConfigs[6] - ZKDisputeGame (disabled)
"0000000000000000000000000000000000000000000000000000000000000000" + // enabled=false
"0000000000000000000000000000000000000000000000000000000000000000" + // initBond=0
"000000000000000000000000000000000000000000000000000000000000000a" + // gameType=10 (ZKDisputeGame)
"0000000000000000000000000000000000000000000000000000000000000080" + // offset to gameArgs
"0000000000000000000000000000000000000000000000000000000000000000" + // gameArgs.length (0)
// ExtraInstructions array
"0000000000000000000000000000000000000000000000000000000000000001" + // extraInstructions.length (1)
"0000000000000000000000000000000000000000000000000000000000000020" + // offset to extraInstructions[0]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,11 @@ func TestManageAddGameTypeV2_Integration(t *testing.T) {
InitBond: big.NewInt(0),
GameType: embedded.GameTypeSuperCannonKona,
},
{
Enabled: false,
InitBond: big.NewInt(0),
GameType: embedded.GameTypeZKDisputeGame,
},
},
ExtraInstructions: []embedded.ExtraInstruction{
{
Expand Down
5 changes: 5 additions & 0 deletions op-deployer/pkg/deployer/integration_test/shared/shared.go
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,11 @@ func buildV2OPCMUpgradeConfig(t *testing.T, prank, opcmAddr, systemConfigProxy c
InitBond: big.NewInt(0),
GameType: embedded.GameTypeSuperCannonKona,
},
{
Enabled: false,
InitBond: big.NewInt(0),
GameType: embedded.GameTypeZKDisputeGame,
},
}

// Sort by game type (required by OPCM)
Expand Down
1 change: 1 addition & 0 deletions op-deployer/pkg/deployer/opcm/implementations.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ type DeployImplementationsOutput struct {
PermissionedDisputeGameImpl common.Address `json:"permissionedDisputeGameImplAddress"`
SuperFaultDisputeGameImpl common.Address `json:"superFaultDisputeGameImplAddress"`
SuperPermissionedDisputeGameImpl common.Address `json:"superPermissionedDisputeGameImplAddress"`
ZkDisputeGameImpl common.Address `json:"zkDisputeGameImplAddress" abi:"zkDisputeGameImpl"`
StorageSetterImpl common.Address `json:"storageSetterImplAddress"`
}

Expand Down
1 change: 1 addition & 0 deletions op-deployer/pkg/deployer/upgrade/embedded/upgrade.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const (
GameTypeSuperPermCannon GameType = 5
GameTypeCannonKona GameType = 8
GameTypeSuperCannonKona GameType = 9
GameTypeZKDisputeGame GameType = 10
)

var (
Expand Down
9 changes: 7 additions & 2 deletions op-devstack/sysgo/add_game_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ func addGameTypesForRuntime(

initBond := eth.GWei(80_000_000).ToBig() // 0.08 ETH

// OPCMv2 requires all 6 game configs in order:
// CANNON, PERMISSIONED_CANNON, CANNON_KONA, SUPER_CANNON, SUPER_PERMISSIONED_CANNON, SUPER_CANNON_KONA.
// OPCMv2 requires all 7 game configs in order:
// CANNON, PERMISSIONED_CANNON, CANNON_KONA, SUPER_CANNON, SUPER_PERMISSIONED_CANNON, SUPER_CANNON_KONA, ZK_DISPUTE_GAME.
cannonPrestate := PrestateForGameType(t, gameTypes.CannonGameType)
cannonKonaPrestate := PrestateForGameType(t, gameTypes.CannonKonaGameType)

Expand Down Expand Up @@ -169,6 +169,11 @@ func addGameTypesForRuntime(
InitBond: new(big.Int),
GameType: embedded.GameTypeSuperCannonKona,
},
{
Enabled: false,
InitBond: new(big.Int),
GameType: embedded.GameTypeZKDisputeGame,
},
}

// Zero out init bond for disabled games.
Expand Down
3 changes: 2 additions & 1 deletion packages/contracts-bedrock/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@ optimizer_runs = 999999
# entire build directory.
additional_compiler_profiles = [
{ name = "dispute", optimizer_runs = 5000 },
{ name = "validator", optimizer_runs = 200 },
]
compilation_restrictions = [
{ paths = "src/dispute/FaultDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/PermissionedDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/SuperFaultDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/SuperPermissionedDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/L1/OPContractsManagerStandardValidator.sol", optimizer_runs = 5000 },
{ paths = "src/L1/OPContractsManagerStandardValidator.sol", optimizer_runs = 200 },
{ paths = "src/L1/opcm/OPContractsManagerV2.sol", optimizer_runs = 5000 },
{ paths = "src/L1/opcm/OPContractsManagerContainer.sol", optimizer_runs = 5000 },
{ paths = "src/L1/opcm/OPContractsManagerMigrator.sol", optimizer_runs = 5000 },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ interface IOPContractsManagerStandardValidator {
address permissionedDisputeGameImpl;
address superFaultDisputeGameImpl;
address superPermissionedDisputeGameImpl;
address zkDisputeGameImpl;
}

struct ValidationInput {
Expand Down Expand Up @@ -61,6 +62,7 @@ interface IOPContractsManagerStandardValidator {
function permissionedDisputeGameImpl() external view returns (address);
function superFaultDisputeGameImpl() external view returns (address);
function superPermissionedDisputeGameImpl() external view returns (address);
function zkDisputeGameImpl() external view returns (address);
function optimismMintableERC20FactoryImpl() external view returns (address);
function optimismPortalImpl() external view returns (address);
function ethLockboxImpl() external view returns (address);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ interface IOPContractsManagerContainer {
address permissionedDisputeGameImpl;
address superFaultDisputeGameImpl;
address superPermissionedDisputeGameImpl;
address zkDisputeGameImpl;
address storageSetterImpl;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import { IAddressManager } from "interfaces/legacy/IAddressManager.sol";
import { IDisputeGame } from "interfaces/dispute/IDisputeGame.sol";
import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { Claim, GameType } from "src/dispute/lib/Types.sol";
import { IZKVerifier } from "interfaces/dispute/zk/IZKVerifier.sol";
import { Claim, Duration, GameType } from "src/dispute/lib/Types.sol";

interface IOPContractsManagerUtils {
struct ProxyDeployArgs {
Expand All @@ -34,6 +35,15 @@ interface IOPContractsManagerUtils {
address challenger;
}

/// @notice Configuration struct for the ZKDisputeGame.
struct ZKDisputeGameConfig {
Claim absolutePrestate;
IZKVerifier verifier;
Duration maxChallengeDuration;
Duration maxProveDuration;
uint256 challengerBond;
}

/// @notice Generic dispute game configuration data.
struct DisputeGameConfig {
bool enabled;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ interface IZKDisputeGame is IDisputeGame, ISemver {
function disputeGameFactory() external view returns (IDisputeGameFactory);
function totalBonds() external view returns (uint256);

function __constructor__() external;
function initialize() external payable;
function l2SequenceNumber() external pure returns (uint256 l2SequenceNumber_);
function parentIndex() external pure returns (uint32 parentIndex_);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import { IProxyAdminOwnedBase } from "interfaces/universal/IProxyAdminOwnedBase.
import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IOPContractsManagerV2 } from "interfaces/L1/opcm/IOPContractsManagerV2.sol";
import { IOPContractsManagerUtils } from "interfaces/L1/opcm/IOPContractsManagerUtils.sol";
import { IZKDisputeGame } from "interfaces/dispute/zk/IZKDisputeGame.sol";

library ChainAssertions {
Vm internal constant vm = Vm(0x7109709ECfa91a80626fF3989D68f67F5b1DD12D);
Expand Down Expand Up @@ -459,6 +460,13 @@ library ChainAssertions {
}
}

/// @notice Asserts that the ZKDisputeGame implementation is setup correctly.
function checkZKDisputeGameImpl(IZKDisputeGame _impl) internal view {
console.log("Running chain assertions on the ZKDisputeGame implementation at %s", address(_impl));
require(address(_impl) != address(0), "CHECK-ZKDG-10");
require(bytes(_impl.version()).length > 0, "CHECK-ZKDG-20");
}

/// @notice Converts variables needed from the DeployConfig to a DeployOPChainInput contract
function dioToContractSet(DeployImplementations.Output memory _output)
internal
Expand Down
16 changes: 14 additions & 2 deletions packages/contracts-bedrock/scripts/deploy/Deploy.s.sol
Comment thread
0xOneTony marked this conversation as resolved.
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ contract Deploy is Deployer {

function getSuperRootDeployInputV2() public view returns (IOPContractsManagerV2.FullConfig memory) {
IOPContractsManagerUtils.DisputeGameConfig[] memory disputeGameConfigs =
new IOPContractsManagerUtils.DisputeGameConfig[](6);
new IOPContractsManagerUtils.DisputeGameConfig[](7);
disputeGameConfigs[0] = IOPContractsManagerUtils.DisputeGameConfig({
enabled: false,
initBond: 0,
Expand Down Expand Up @@ -451,6 +451,12 @@ contract Deploy is Deployer {
})
)
});
disputeGameConfigs[6] = IOPContractsManagerUtils.DisputeGameConfig({
enabled: false,
initBond: 0,
gameType: GameTypes.ZK_DISPUTE_GAME,
gameArgs: bytes("")
});

return IOPContractsManagerV2.FullConfig({
saltMixer: "salt mixer",
Expand All @@ -476,7 +482,7 @@ contract Deploy is Deployer {

function getDeployInputV2() public view returns (IOPContractsManagerV2.FullConfig memory) {
IOPContractsManagerUtils.DisputeGameConfig[] memory disputeGameConfigs =
new IOPContractsManagerUtils.DisputeGameConfig[](6);
new IOPContractsManagerUtils.DisputeGameConfig[](7);
disputeGameConfigs[0] = IOPContractsManagerUtils.DisputeGameConfig({
enabled: false,
initBond: 0,
Expand Down Expand Up @@ -527,6 +533,12 @@ contract Deploy is Deployer {
gameType: GameTypes.SUPER_CANNON_KONA,
gameArgs: bytes("")
});
disputeGameConfigs[6] = IOPContractsManagerUtils.DisputeGameConfig({
enabled: false,
initBond: 0,
gameType: GameTypes.ZK_DISPUTE_GAME,
gameArgs: bytes("")
});

return IOPContractsManagerV2.FullConfig({
saltMixer: "salt mixer",
Expand Down
19 changes: 19 additions & 0 deletions packages/contracts-bedrock/scripts/deploy/DeployConfig.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,14 @@ contract DeployConfig is Script {
uint256 public faultGameV2ClockExtension;
uint256 public faultGameV2MaxClockDuration;

// ZK Dispute Game Configuration
uint256 public zkDisputeGameInitBond;
bytes32 public zkDisputeGameAbsolutePrestate;
address public zkDisputeGameVerifier;
uint256 public zkDisputeGameMaxChallengeDuration;
uint256 public zkDisputeGameMaxProveDuration;
uint256 public zkDisputeGameChallengerBond;

bool public useUpgradedFork;
bool public useInterop;
bytes32 public devFeatureBitmap;
Expand Down Expand Up @@ -203,6 +211,13 @@ contract DeployConfig is Script {
faultGameV2SplitDepth = _readOr(_json, "$.faultGameV2SplitDepth", uint256(30));
faultGameV2ClockExtension = _readOr(_json, "$.faultGameV2ClockExtension", uint256(10800));
faultGameV2MaxClockDuration = _readOr(_json, "$.faultGameV2MaxClockDuration", uint256(302400));

zkDisputeGameInitBond = _readOr(_json, "$.zkDisputeGameInitBond", uint256(1 ether));
zkDisputeGameAbsolutePrestate = bytes32(_readOr(_json, "$.zkDisputeGameAbsolutePrestate", uint256(0)));
zkDisputeGameVerifier = _readOr(_json, "$.zkDisputeGameVerifier", address(0));
zkDisputeGameMaxChallengeDuration = _readOr(_json, "$.zkDisputeGameMaxChallengeDuration", uint256(604800));
zkDisputeGameMaxProveDuration = _readOr(_json, "$.zkDisputeGameMaxProveDuration", uint256(259200));
zkDisputeGameChallengerBond = _readOr(_json, "$.zkDisputeGameChallengerBond", uint256(1 ether));
}

function fork() public view returns (Fork fork_) {
Expand Down Expand Up @@ -401,6 +416,10 @@ contract DeployConfig is Script {
faultGameV2SplitDepth = 30;
faultGameV2ClockExtension = 10800;
faultGameV2MaxClockDuration = 302400;
zkDisputeGameInitBond = 1 ether;
zkDisputeGameMaxChallengeDuration = 604800;
zkDisputeGameMaxProveDuration = 259200;
zkDisputeGameChallengerBond = 1 ether;
useInterop = false;
useUpgradedFork = false;
devFeatureBitmap = bytes32(0);
Expand Down
Loading
Loading