Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
bec94ca
refactor(dispute): replace V1 with V2 dispute games
stevennevins Jan 13, 2026
17bee33
chore: remove more v2 references
stevennevins Jan 7, 2026
c872f19
chore: bump semvers
stevennevins Jan 7, 2026
53748bc
chore: bump OptimisticZkGame version to 0.1.0
stevennevins Jan 7, 2026
9a840eb
chore: remove duplicate games from rename
stevennevins Jan 7, 2026
4bc5039
chore: remove V2 suffix from dispute game struct members and regenera…
stevennevins Jan 7, 2026
e263e48
chore: regenerate OPContractsManager Go bindings
stevennevins Jan 7, 2026
709aa13
chore: bump semver
stevennevins Jan 13, 2026
918b800
chore: remove unused V1/V2 dispute game detection functions
stevennevins Jan 14, 2026
3b37f7e
chore: remove V2 dispute game skip from VerifyOPCM tests
stevennevins Jan 14, 2026
97b98e0
chore: remove V1 backwards compat from getAbsolutePrestate
stevennevins Jan 14, 2026
bfaa331
chore: bump semver
stevennevins Jan 14, 2026
2ce1afa
Revert "chore: remove V1 backwards compat from getAbsolutePrestate"
stevennevins Jan 14, 2026
b269b8e
chore: semver update after revert commit
stevennevins Jan 14, 2026
1b9b5b0
test: use DEFAULT_DISPUTE_GAME_INIT_BOND in SuperFaultDisputeGame
stevennevins Jan 14, 2026
8ecdbaa
test: use DEFAULT_DISPUTE_GAME_INIT_BOND in DisputeGameFactory
stevennevins Jan 14, 2026
6abcf53
test: use DEFAULT_DISPUTE_GAME_INIT_BOND in FaultDisputeGame
stevennevins Jan 14, 2026
caccab7
docs: restore OPCM V1/V2 notice in AddGameType
stevennevins Jan 14, 2026
30d56a2
test: restore OPCM v2 skip for PDG getter checks
stevennevins Jan 14, 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
2 changes: 0 additions & 2 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -335,9 +335,7 @@ rules:
- packages/contracts-bedrock/src/dispute/AnchorStateRegistry.sol
- packages/contracts-bedrock/src/dispute/DelayedWETH.sol
- packages/contracts-bedrock/src/dispute/FaultDisputeGame.sol
- packages/contracts-bedrock/src/dispute/v2/FaultDisputeGameV2.sol
- packages/contracts-bedrock/src/dispute/PermissionedDisputeGame.sol
- packages/contracts-bedrock/src/dispute/v2/PermissionedDisputeGameV2.sol
- packages/contracts-bedrock/src/dispute/SuperFaultDisputeGame.sol
- packages/contracts-bedrock/src/dispute/SuperPermissionedDisputeGame.sol
- packages/contracts-bedrock/src/governance/MintManager.sol
Expand Down
4 changes: 2 additions & 2 deletions op-chain-ops/addresses/contracts.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ type ImplementationsContracts struct {
OptimismMintableErc20FactoryImpl common.Address
DisputeGameFactoryImpl common.Address
AnchorStateRegistryImpl common.Address
FaultDisputeGameV2Impl common.Address
PermissionedDisputeGameV2Impl common.Address
FaultDisputeGameImpl common.Address
PermissionedDisputeGameImpl common.Address
StorageSetterImpl common.Address
}

Expand Down
4 changes: 2 additions & 2 deletions op-chain-ops/interopgen/deployments.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ type Implementations struct {
AnchorStateRegistryImpl common.Address `json:"AnchorStateRegistryImpl"`
SuperchainConfigImpl common.Address `json:"SuperchainConfigImpl"`
ProtocolVersionsImpl common.Address `json:"ProtocolVersionsImpl"`
FaultDisputeGameV2Impl common.Address `json:"FaultDisputeGameV2Impl"`
PermissionedDisputeGameV2Impl common.Address `json:"PermissionedDisputeGameV2Impl"`
FaultDisputeGameImpl common.Address `json:"FaultDisputeGameImpl"`
PermissionedDisputeGameImpl common.Address `json:"PermissionedDisputeGameImpl"`
SuperFaultDisputeGameImpl common.Address `json:"SuperFaultDisputeGameImpl"`
SuperPermissionedDisputeGameImpl common.Address `json:"SuperPermissionedDisputeGameImpl"`
StorageSetterImpl common.Address `json:"StorageSetterImpl"`
Expand Down
2 changes: 1 addition & 1 deletion op-deployer/pkg/deployer/integration_test/apply_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,7 @@ func TestProofParamOverrides(t *testing.T) {
return common.BigToHash(new(big.Int).SetUint64(val.(uint64)))
}

pdgImpl := st.ImplementationsDeployment.PermissionedDisputeGameV2Impl
pdgImpl := st.ImplementationsDeployment.PermissionedDisputeGameImpl
tests := []struct {
name string
caster func(t *testing.T, val any) common.Hash
Expand Down
4 changes: 2 additions & 2 deletions op-deployer/pkg/deployer/opcm/implementations.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ type DeployImplementationsOutput struct {
AnchorStateRegistryImpl common.Address `json:"anchorStateRegistryImplAddress"`
SuperchainConfigImpl common.Address `json:"superchainConfigImplAddress"`
ProtocolVersionsImpl common.Address `json:"protocolVersionsImplAddress"`
FaultDisputeGameV2Impl common.Address `json:"faultDisputeGameV2ImplAddress"`
PermissionedDisputeGameV2Impl common.Address `json:"permissionedDisputeGameV2ImplAddress"`
FaultDisputeGameImpl common.Address `json:"faultDisputeGameImplAddress"`
PermissionedDisputeGameImpl common.Address `json:"permissionedDisputeGameImplAddress"`
SuperFaultDisputeGameImpl common.Address `json:"superFaultDisputeGameImplAddress"`
SuperPermissionedDisputeGameImpl common.Address `json:"superPermissionedDisputeGameImplAddress"`
StorageSetterImpl common.Address `json:"storageSetterImplAddress"`
Expand Down
4 changes: 2 additions & 2 deletions op-deployer/pkg/deployer/opcm/opchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ type ReadImplementationAddressesOutput struct {
DisputeGameFactory common.Address
MipsSingleton common.Address
PreimageOracleSingleton common.Address
FaultDisputeGameV2 common.Address
PermissionedDisputeGameV2 common.Address
FaultDisputeGame common.Address
PermissionedDisputeGame common.Address
SuperFaultDisputeGame common.Address
SuperPermissionedDisputeGame common.Address
OpcmDeployer common.Address
Expand Down
4 changes: 2 additions & 2 deletions op-deployer/pkg/deployer/pipeline/implementations.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ func DeployImplementations(env *Env, intent *state.Intent, st *state.State) erro
OptimismMintableErc20FactoryImpl: dio.OptimismMintableERC20FactoryImpl,
DisputeGameFactoryImpl: dio.DisputeGameFactoryImpl,
AnchorStateRegistryImpl: dio.AnchorStateRegistryImpl,
FaultDisputeGameV2Impl: dio.FaultDisputeGameV2Impl,
PermissionedDisputeGameV2Impl: dio.PermissionedDisputeGameV2Impl,
FaultDisputeGameImpl: dio.FaultDisputeGameImpl,
PermissionedDisputeGameImpl: dio.PermissionedDisputeGameImpl,
StorageSetterImpl: dio.StorageSetterImpl,
}

Expand Down
12 changes: 6 additions & 6 deletions op-deployer/pkg/deployer/pipeline/opchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ func DeployOPChain(env *Env, intent *state.Intent, st *state.State, chainID comm
st.ImplementationsDeployment.DisputeGameFactoryImpl = impls.DisputeGameFactory
st.ImplementationsDeployment.MipsImpl = impls.MipsSingleton
st.ImplementationsDeployment.PreimageOracleImpl = impls.PreimageOracleSingleton
st.ImplementationsDeployment.FaultDisputeGameV2Impl = impls.FaultDisputeGameV2
st.ImplementationsDeployment.PermissionedDisputeGameV2Impl = impls.PermissionedDisputeGameV2
st.ImplementationsDeployment.FaultDisputeGameImpl = impls.FaultDisputeGame
st.ImplementationsDeployment.PermissionedDisputeGameImpl = impls.PermissionedDisputeGame
st.ImplementationsDeployment.OpcmDeployerImpl = impls.OpcmDeployer
st.ImplementationsDeployment.OpcmGameTypeAdderImpl = impls.OpcmGameTypeAdder
st.ImplementationsDeployment.OpcmUpgraderImpl = impls.OpcmUpgrader
Expand Down Expand Up @@ -158,11 +158,11 @@ func makeChainState(chainID common.Hash, impls opcm.ReadImplementationAddressesO
opChainContracts.DelayedWethPermissionedGameProxy = dco.DelayedWETHPermissionedGameProxy
opChainContracts.DelayedWethPermissionlessGameProxy = dco.DelayedWETHPermissionlessGameProxy

if (impls.PermissionedDisputeGameV2 != common.Address{}) {
opChainContracts.PermissionedDisputeGameImpl = impls.PermissionedDisputeGameV2
if (impls.PermissionedDisputeGame != common.Address{}) {
opChainContracts.PermissionedDisputeGameImpl = impls.PermissionedDisputeGame
}
if (impls.FaultDisputeGameV2 != common.Address{}) {
opChainContracts.FaultDisputeGameImpl = impls.FaultDisputeGameV2
if (impls.FaultDisputeGame != common.Address{}) {
opChainContracts.FaultDisputeGameImpl = impls.FaultDisputeGame
}

return &state.ChainState{
Expand Down
41 changes: 19 additions & 22 deletions op-e2e/bindings/opcontractsmanager.go

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions packages/contracts-bedrock/foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,7 @@ additional_compiler_profiles = [
]
compilation_restrictions = [
{ paths = "src/dispute/FaultDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/v2/FaultDisputeGameV2.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/PermissionedDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/v2/PermissionedDisputeGameV2.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/SuperFaultDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/dispute/SuperPermissionedDisputeGame.sol", optimizer_runs = 5000 },
{ paths = "src/L1/OPContractsManager.sol", optimizer_runs = 5000 },
Expand Down Expand Up @@ -156,9 +154,7 @@ additional_compiler_profiles = [
]
compilation_restrictions = [
{ paths = "src/dispute/FaultDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/v2/FaultDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/dispute/PermissionedDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/v2/PermissionedDisputeGameV2.sol", optimizer_runs = 0 },
{ paths = "src/dispute/SuperFaultDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/dispute/SuperPermissionedDisputeGame.sol", optimizer_runs = 0 },
{ paths = "src/L1/OPContractsManager.sol", optimizer_runs = 0 },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,8 +210,8 @@ interface IOPContractsManager {
address anchorStateRegistryImpl;
address delayedWETHImpl;
address mipsImpl;
address faultDisputeGameV2Impl;
address permissionedDisputeGameV2Impl;
address faultDisputeGameImpl;
address permissionedDisputeGameImpl;
address superFaultDisputeGameImpl;
address superPermissionedDisputeGameImpl;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ interface IOPContractsManagerContainer {
address anchorStateRegistryImpl;
address delayedWETHImpl;
address mipsImpl;
address faultDisputeGameV2Impl;
address permissionedDisputeGameV2Impl;
address faultDisputeGameImpl;
address permissionedDisputeGameImpl;
address superFaultDisputeGameImpl;
address superPermissionedDisputeGameImpl;
address storageSetterImpl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { IDelayedWETH } from "interfaces/dispute/IDelayedWETH.sol";
import { IAnchorStateRegistry } from "interfaces/dispute/IAnchorStateRegistry.sol";
import { IBigStepper } from "interfaces/dispute/IBigStepper.sol";
import { Types } from "src/libraries/Types.sol";
import { GameType, Claim, Position, Clock, Hash, Duration, BondDistributionMode } from "src/dispute/lib/Types.sol";
import { Claim, Position, Clock, Hash, Duration, BondDistributionMode } from "src/dispute/lib/Types.sol";

interface IFaultDisputeGame is IDisputeGame {
struct ClaimData {
Expand All @@ -27,16 +27,10 @@ interface IFaultDisputeGame is IDisputeGame {
}

struct GameConstructorParams {
GameType gameType;
Claim absolutePrestate;
uint256 maxGameDepth;
uint256 splitDepth;
Duration clockExtension;
Duration maxClockDuration;
IBigStepper vm;
IDelayedWETH weth;
IAnchorStateRegistry anchorStateRegistry;
uint256 l2ChainId;
}

error AlreadyInitialized();
Expand Down Expand Up @@ -79,7 +73,6 @@ interface IFaultDisputeGame is IDisputeGame {
error InvalidBondDistributionMode();
error GameNotFinalized();
error GameNotResolved();
error ReservedGameType();
error GamePaused();
event Move(uint256 indexed parentIndex, Claim indexed claim, address indexed claimant);
event GameClosed(BondDistributionMode bondDistributionMode);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ interface IPermissionedDisputeGame is IDisputeGame {
error InvalidBondDistributionMode();
error GameNotFinalized();
error GameNotResolved();
error ReservedGameType();
error GamePaused();
event Move(uint256 indexed parentIndex, Claim indexed claim, address indexed claimant);
event GameClosed(BondDistributionMode bondDistributionMode);
Expand Down Expand Up @@ -132,13 +131,11 @@ interface IPermissionedDisputeGame is IDisputeGame {

error BadAuth();

function proposer() external view returns (address proposer_);
function challenger() external view returns (address challenger_);
function proposer() external pure returns (address proposer_);
function challenger() external pure returns (address challenger_);

function __constructor__(
IFaultDisputeGame.GameConstructorParams memory _params,
address _proposer,
address _challenger
IFaultDisputeGame.GameConstructorParams memory _params
)
external;
}

This file was deleted.

Loading