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
10 changes: 5 additions & 5 deletions op-acceptance-tests/tests/base/disputegame_v2/smoke_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/gameargs"
challengerTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
)
Expand All @@ -15,18 +15,18 @@ func TestSmoke(gt *testing.T) {
require := t.Require()
dgf := sys.DisputeGameFactory()

gameArgs := dgf.GameArgs(challengerTypes.PermissionedGameType)
gameArgs := dgf.GameArgs(gameTypes.PermissionedGameType)
require.NotEmpty(gameArgs, "game args is must be set for permissioned v2 dispute games")
_, err := gameargs.Parse(gameArgs)
require.NoError(err, "Permissioned game args invalid")

gameArgs = dgf.GameArgs(challengerTypes.CannonGameType)
gameArgs = dgf.GameArgs(gameTypes.CannonGameType)
require.NotEmpty(gameArgs, "game args is must be set for cannon v2 dispute games")
_, err = gameargs.Parse(gameArgs)
require.NoError(err, "Permissionless game args invalid")

permissionedGame := dgf.GameImpl(challengerTypes.PermissionedGameType)
permissionedGame := dgf.GameImpl(gameTypes.PermissionedGameType)
require.NotEmpty(permissionedGame.Address, "permissioned game impl must be set")
cannonGame := dgf.GameImpl(challengerTypes.CannonGameType)
cannonGame := dgf.GameImpl(gameTypes.CannonGameType)
require.NotEmpty(cannonGame.Address, "cannon game impl must be set")
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.CannonGameType)
withdrawal.InitWithGameType(m, gameTypes.CannonGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_Cannon(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.CannonGameType)
withdrawal.TestWithdrawal(gt, gameTypes.CannonGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.CannonKonaGameType)
withdrawal.InitWithGameType(m, gameTypes.CannonKonaGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_CannonKona(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.CannonKonaGameType)
withdrawal.TestWithdrawal(gt, gameTypes.CannonKonaGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestMain(m *testing.M) {
withdrawal.InitWithGameType(m, types.PermissionedGameType)
withdrawal.InitWithGameType(m, gameTypes.PermissionedGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"testing"

"github.com/ethereum-optimism/optimism/op-acceptance-tests/tests/base/withdrawal"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
)

func TestWithdrawal_Permissioned(gt *testing.T) {
withdrawal.TestWithdrawal(gt, faultTypes.PermissionedGameType)
withdrawal.TestWithdrawal(gt, gameTypes.PermissionedGameType)
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ package withdrawal
import (
"testing"

faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-devstack/compat"
"github.com/ethereum-optimism/optimism/op-devstack/devtest"
"github.com/ethereum-optimism/optimism/op-devstack/presets"
"github.com/ethereum-optimism/optimism/op-service/eth"
)

func InitWithGameType(m *testing.M, gameType faultTypes.GameType) {
func InitWithGameType(m *testing.M, gameType gameTypes.GameType) {
presets.DoMain(m,
presets.WithCompatibleTypes(compat.SysGo),
presets.WithMinimal(),
Expand All @@ -25,7 +25,7 @@ func InitWithGameType(m *testing.M, gameType faultTypes.GameType) {
)
}

func TestWithdrawal(gt *testing.T, gameType faultTypes.GameType) {
func TestWithdrawal(gt *testing.T, gameType gameTypes.GameType) {
t := devtest.SerialT(gt)
sys := presets.NewMinimal(t)
require := sys.T.Require()
Expand Down
4 changes: 2 additions & 2 deletions op-challenger/cmd/create_game.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/flags"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts"
contractMetrics "github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/metrics"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-challenger/tools"
opservice "github.com/ethereum-optimism/optimism/op-service"
oplog "github.com/ethereum-optimism/optimism/op-service/log"
Expand All @@ -22,7 +22,7 @@ var (
Name: "game-type",
Usage: "Game type to create (numeric values).",
EnvVars: opservice.PrefixEnvVar(flags.EnvVarPrefix, "TRACE_TYPE"),
Value: types.CannonGameType.String(),
Value: gameTypes.CannonGameType.String(),
}
OutputRootFlag = &cli.StringFlag{
Name: "output-root",
Expand Down
32 changes: 16 additions & 16 deletions op-challenger/game/fault/contracts/detect.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
"fmt"

faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/sources/batching/rpcblock"
"github.com/ethereum/go-ethereum/common"
Expand All @@ -22,26 +22,26 @@ var (
}]`))
)

func DetectGameType(ctx context.Context, addr common.Address, caller *batching.MultiCaller) (faultTypes.GameType, error) {
func DetectGameType(ctx context.Context, addr common.Address, caller *batching.MultiCaller) (gameTypes.GameType, error) {
result, err := caller.SingleCall(ctx, rpcblock.Latest, batching.NewContractCall(gameTypeABI, addr, methodGameType))
if err != nil {
return faultTypes.UnknownGameType, fmt.Errorf("failed to detect game type: %w", err)
return gameTypes.UnknownGameType, fmt.Errorf("failed to detect game type: %w", err)
}
gameType := faultTypes.GameType(result.GetUint32(0))
gameType := gameTypes.GameType(result.GetUint32(0))
switch gameType {
case faultTypes.CannonGameType,
faultTypes.PermissionedGameType,
faultTypes.CannonKonaGameType,
faultTypes.AsteriscGameType,
faultTypes.AlphabetGameType,
faultTypes.FastGameType,
faultTypes.AsteriscKonaGameType,
faultTypes.SuperCannonGameType,
faultTypes.SuperPermissionedGameType,
faultTypes.SuperCannonKonaGameType,
faultTypes.SuperAsteriscKonaGameType:
case gameTypes.CannonGameType,
gameTypes.PermissionedGameType,
gameTypes.CannonKonaGameType,
gameTypes.AsteriscGameType,
gameTypes.AlphabetGameType,
gameTypes.FastGameType,
gameTypes.AsteriscKonaGameType,
gameTypes.SuperCannonGameType,
gameTypes.SuperPermissionedGameType,
gameTypes.SuperCannonKonaGameType,
gameTypes.SuperAsteriscKonaGameType:
return gameType, nil
default:
return faultTypes.UnknownGameType, fmt.Errorf("unsupported game type: %d", gameType)
return gameTypes.UnknownGameType, fmt.Errorf("unsupported game type: %d", gameType)
}
}
23 changes: 11 additions & 12 deletions op-challenger/game/fault/contracts/disputegame.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/metrics"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/sources/batching/rpcblock"
Expand Down Expand Up @@ -35,23 +34,23 @@ type DisputeGameContract interface {
}

func NewDisputeGameContractForGame(ctx context.Context, metrics metrics.ContractMetricer, caller *batching.MultiCaller, game gameTypes.GameMetadata) (DisputeGameContract, error) {
return NewDisputeGameContract(ctx, metrics, caller, types.GameType(game.GameType), game.Proxy)
return NewDisputeGameContract(ctx, metrics, caller, gameTypes.GameType(game.GameType), game.Proxy)
}

func NewDisputeGameContract(ctx context.Context, metrics metrics.ContractMetricer, caller *batching.MultiCaller, gameType types.GameType, addr common.Address) (DisputeGameContract, error) {
func NewDisputeGameContract(ctx context.Context, metrics metrics.ContractMetricer, caller *batching.MultiCaller, gameType gameTypes.GameType, addr common.Address) (DisputeGameContract, error) {
switch gameType {
case types.SuperCannonGameType, types.SuperCannonKonaGameType, types.SuperPermissionedGameType, types.SuperAsteriscKonaGameType:
case gameTypes.SuperCannonGameType, gameTypes.SuperCannonKonaGameType, gameTypes.SuperPermissionedGameType, gameTypes.SuperAsteriscKonaGameType:
return NewSuperFaultDisputeGameContract(ctx, metrics, addr, caller)

case types.CannonGameType,
types.PermissionedGameType,
types.CannonKonaGameType,
types.AsteriscGameType,
types.AlphabetGameType,
types.FastGameType,
types.AsteriscKonaGameType:
case gameTypes.CannonGameType,
gameTypes.PermissionedGameType,
gameTypes.CannonKonaGameType,
gameTypes.AsteriscGameType,
gameTypes.AlphabetGameType,
gameTypes.FastGameType,
gameTypes.AsteriscKonaGameType:
return NewPreInteropFaultDisputeGameContract(ctx, metrics, addr, caller)
case types.OptimisticZKGameType:
case gameTypes.OptimisticZKGameType:
return NewOptimisticZKDisputeGameContract(metrics, addr, caller)
default:
return nil, ErrUnsupportedGameType
Expand Down
2 changes: 1 addition & 1 deletion op-challenger/game/fault/contracts/faultdisputegame.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func NewFaultDisputeGameContract(ctx context.Context, metrics metrics.ContractMe
return nil, fmt.Errorf("failed to detect game type: %w", err)
}
switch gameType {
case types.SuperCannonGameType, types.SuperCannonKonaGameType, types.SuperPermissionedGameType, types.SuperAsteriscKonaGameType:
case gameTypes.SuperCannonGameType, gameTypes.SuperCannonKonaGameType, gameTypes.SuperPermissionedGameType, gameTypes.SuperAsteriscKonaGameType:
return NewSuperFaultDisputeGameContract(ctx, metrics, addr, caller)
default:
return NewPreInteropFaultDisputeGameContract(ctx, metrics, addr, caller)
Expand Down
30 changes: 15 additions & 15 deletions op-challenger/game/fault/contracts/faultdisputegame_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (

contractMetrics "github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts/metrics"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum-optimism/optimism/op-challenger/game/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/eth"
"github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/sources/batching/rpcblock"
Expand All @@ -39,7 +39,7 @@ var (

type contractVersion struct {
version string
gameType faultTypes.GameType
gameType gameTypes.GameType
loadAbi func() *abi.ABI
}

Expand All @@ -52,7 +52,7 @@ func (c contractVersion) String() string {
}

func (c contractVersion) IsSuperGame() bool {
return c.gameType == faultTypes.SuperCannonGameType || c.gameType == faultTypes.SuperPermissionedGameType || c.gameType == faultTypes.SuperAsteriscKonaGameType
return c.gameType == gameTypes.SuperCannonGameType || c.gameType == gameTypes.SuperPermissionedGameType || c.gameType == gameTypes.SuperAsteriscKonaGameType
}

const (
Expand All @@ -68,47 +68,47 @@ const (
var versions = []contractVersion{
{
version: vers080,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: func() *abi.ABI {
return mustParseAbi(faultDisputeGameAbi020)
},
},
{
version: vers0180,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: func() *abi.ABI {
return mustParseAbi(faultDisputeGameAbi0180)
},
},
{
version: vers111,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: func() *abi.ABI {
return mustParseAbi(faultDisputeGameAbi111)
},
},
{
version: vers120,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: func() *abi.ABI {
return mustParseAbi(faultDisputeGameAbi120)
},
},
{
version: vers131,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: func() *abi.ABI {
return mustParseAbi(faultDisputeGameAbi131)
},
},
{
version: versLatest,
gameType: faultTypes.CannonGameType,
gameType: gameTypes.CannonGameType,
loadAbi: snapshots.LoadFaultDisputeGameABI,
},
{
version: verSuperCannon,
gameType: faultTypes.SuperCannonGameType,
gameType: gameTypes.SuperCannonGameType,
loadAbi: snapshots.LoadSuperFaultDisputeGameABI,
},
}
Expand All @@ -126,7 +126,7 @@ func TestSimpleGetters(t *testing.T) {
{
methodAlias: "status",
method: methodStatus,
result: types.GameStatusChallengerWon,
result: gameTypes.GameStatusChallengerWon,
call: func(game FaultDisputeGameContract) (any, error) {
return game.GetStatus(context.Background())
},
Expand Down Expand Up @@ -192,7 +192,7 @@ func TestSimpleGetters(t *testing.T) {
{
methodAlias: "resolve",
method: methodResolve,
result: types.GameStatusInProgress,
result: gameTypes.GameStatusInProgress,
call: func(game FaultDisputeGameContract) (any, error) {
return game.CallResolve(context.Background())
},
Expand Down Expand Up @@ -581,7 +581,7 @@ func TestGetGameMetadata(t *testing.T) {
expectedL2BlockNumber := uint64(123)
expectedMaxClockDuration := uint64(456)
expectedRootClaim := common.Hash{0x01, 0x02}
expectedStatus := types.GameStatusChallengerWon
expectedStatus := gameTypes.GameStatusChallengerWon
expectedL2BlockNumberChallenged := true
expectedL2BlockNumberChallenger := common.Address{0xee}
block := rpcblock.ByNumber(889)
Expand Down Expand Up @@ -625,7 +625,7 @@ func TestGetMetadata(t *testing.T) {
expectedL1Head := common.Hash{0x0a, 0x0b}
expectedL2BlockNumber := uint64(123)
expectedRootClaim := common.Hash{0x01, 0x02}
expectedStatus := types.GameStatusChallengerWon
expectedStatus := gameTypes.GameStatusChallengerWon
block := rpcblock.ByNumber(889)
stubRpc.SetResponse(fdgAddr, methodL1Head, block, nil, []interface{}{expectedL1Head})
if version.IsSuperGame() {
Expand Down Expand Up @@ -705,7 +705,7 @@ func TestFaultDisputeGame_GetCredit(t *testing.T) {
stubRpc, game := setupFaultDisputeGameTest(t, version)
addr := common.Address{0x01}
expectedCredit := big.NewInt(4284)
expectedStatus := types.GameStatusChallengerWon
expectedStatus := gameTypes.GameStatusChallengerWon
stubRpc.SetResponse(fdgAddr, methodCredit, rpcblock.Latest, []interface{}{addr}, []interface{}{expectedCredit})
stubRpc.SetResponse(fdgAddr, methodStatus, rpcblock.Latest, nil, []interface{}{expectedStatus})

Expand Down
Loading