From 3670c969628774366b73ac3eab0e1d93091a591d Mon Sep 17 00:00:00 2001 From: geoknee Date: Thu, 2 Oct 2025 21:30:18 +0100 Subject: [PATCH 1/4] op-challenger: convert l1 genesis flag to VMFlag --- op-challenger/flags/flags.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/op-challenger/flags/flags.go b/op-challenger/flags/flags.go index 4f4a16ac08c77..c5b104174be1a 100644 --- a/op-challenger/flags/flags.go +++ b/op-challenger/flags/flags.go @@ -44,11 +44,6 @@ var ( Usage: "Address of L1 Beacon API endpoint to use", EnvVars: prefixEnvVars("L1_BEACON"), } - L1GenesisFlag = &cli.StringFlag{ - Name: "l1-genesis-path", - Usage: "Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi.", - EnvVars: prefixEnvVars("L1_GENESIS_PATH"), - } SupervisorRpcFlag = &cli.StringFlag{ Name: "supervisor-rpc", Usage: "Provider URL for supervisor RPC", @@ -148,6 +143,13 @@ var ( EnvVars: envVars, } }) + L1GenesisFlag = NewVMFlag("l1-genesis", EnvVarPrefix, faultDisputeVMs, func(name string, envVars []string, traceTypeInfo string) cli.Flag { + return &cli.StringFlag{ + Name: name, + Usage: "Path to the L1 genesis file. Only required if the L1 is not mainnet, sepolia, holesky, or hoodi.", + EnvVars: envVars, + } + }) DepsetConfigFlag = NewVMFlag("depset-config", EnvVarPrefix, faultDisputeVMs, func(name string, envVars []string, traceTypeInfo string) cli.Flag { return &cli.StringFlag{ Name: name, @@ -336,7 +338,6 @@ var optionalFlags = []cli.Flag{ UnsafeAllowInvalidPrestate, ResponseDelayFlag, ResponseDelayAfterFlag, - L1GenesisFlag, L1BeaconSkipBlobVerificationFlag, } @@ -344,6 +345,7 @@ func init() { optionalFlags = append(optionalFlags, oplog.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, PreStatesURLFlag.Flags()...) optionalFlags = append(optionalFlags, RollupConfigFlag.Flags()...) + optionalFlags = append(optionalFlags, L1GenesisFlag.Flags()...) optionalFlags = append(optionalFlags, L2GenesisFlag.Flags()...) optionalFlags = append(optionalFlags, DepsetConfigFlag.Flags()...) optionalFlags = append(optionalFlags, txmgr.CLIFlagsWithDefaults(EnvVarPrefix, txmgr.DefaultChallengerFlagValues)...) @@ -724,7 +726,6 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro RollupRpc: ctx.String(RollupRpcFlag.Name), SupervisorRPC: ctx.String(SupervisorRpcFlag.Name), Cannon: vm.Config{ - L1GenesisPath: ctx.String(L1GenesisFlag.Name), VmType: types.TraceTypeCannon, L1: l1EthRpc, L1Beacon: l1Beacon, @@ -736,6 +737,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro Networks: networks, L2Custom: ctx.Bool(CannonL2CustomFlag.Name), RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannon), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannon), L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannon), DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannon), SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), @@ -746,7 +748,6 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro CannonAbsolutePreState: ctx.String(CannonPreStateFlag.Name), CannonAbsolutePreStateBaseURL: cannonPreStatesURL, CannonKona: vm.Config{ - L1GenesisPath: ctx.String(L1GenesisFlag.Name), VmType: types.TraceTypeCannonKona, L1: l1EthRpc, L1Beacon: l1Beacon, @@ -758,6 +759,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro Networks: networks, L2Custom: ctx.Bool(CannonKonaL2CustomFlag.Name), RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannonKona), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannonKona), L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannonKona), DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannonKona), SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), @@ -769,7 +771,6 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro CannonKonaAbsolutePreStateBaseURL: cannonKonaPreStatesURL, Datadir: ctx.String(DatadirFlag.Name), Asterisc: vm.Config{ - L1GenesisPath: ctx.String(L1GenesisFlag.Name), VmType: types.TraceTypeAsterisc, L1: l1EthRpc, L1Beacon: l1Beacon, @@ -780,6 +781,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro Server: ctx.String(AsteriscServerFlag.Name), Networks: networks, RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsterisc), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsterisc), L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsterisc), DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsterisc), SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), @@ -789,7 +791,6 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro AsteriscAbsolutePreState: ctx.String(AsteriscPreStateFlag.Name), AsteriscAbsolutePreStateBaseURL: asteriscPreStatesURL, AsteriscKona: vm.Config{ - L1GenesisPath: ctx.String(L1GenesisFlag.Name), VmType: types.TraceTypeAsteriscKona, L1: l1EthRpc, L1Beacon: l1Beacon, @@ -801,6 +802,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro Networks: networks, L2Custom: ctx.Bool(AsteriscKonaL2CustomFlag.Name), RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsteriscKona), L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsteriscKona), SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), From e16be98e13fb53b4d6490a5971f87f96b9c8f349 Mon Sep 17 00:00:00 2001 From: mbaxter Date: Fri, 3 Oct 2025 17:55:40 -0400 Subject: [PATCH 2/4] Disallow l1-genesis flag use with the network flag --- op-challenger/cmd/main_test.go | 112 ++++++++++++++------------------- op-challenger/flags/flags.go | 18 +++--- 2 files changed, 55 insertions(+), 75 deletions(-) diff --git a/op-challenger/cmd/main_test.go b/op-challenger/cmd/main_test.go index aa3b7ef3a2086..94fff227f0752 100644 --- a/op-challenger/cmd/main_test.go +++ b/op-challenger/cmd/main_test.go @@ -503,6 +503,48 @@ func TestAsteriscKonaRequiredArgs(t *testing.T) { }) } +// validateCustomNetworkFlagsProhibitedWithNetworkFlag ensures custom network flags are not used simultaneously with the network flag. +// It validates disallowed flag combinations for a given trace type and trace type prefix configuration. +func validateCustomNetworkFlagsProhibitedWithNetworkFlag(t *testing.T, traceType types.TraceType, traceTypeForFlagPrefix types.TraceType, customNetworkFlag string) { + expectedError := fmt.Sprintf("flag network can not be used with rollup-config/%v-rollup-config, l2-genesis/%v-l2-genesis, l1-genesis/%v-l1-genesis or %v", traceTypeForFlagPrefix, traceTypeForFlagPrefix, traceTypeForFlagPrefix, customNetworkFlag) + + // Test the custom l2 flag + t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndCustomL2Flag-%v", traceType), func(t *testing.T) { + verifyArgsInvalid( + t, + expectedError, + addRequiredArgs(traceType, fmt.Sprintf("--%v=true", customNetworkFlag))) + }) + + // Now test flags with trace-specific permutations + customNetworkFlags := map[string]string{ + "RollupConfig": "rollup-config", + "L2Genesis": "l2-genesis", + "L1Genesis": "l1-genesis", + } + for testName, flag := range customNetworkFlags { + for _, withTraceSpecificPrefix := range []bool{true, false} { + var postFix string + if withTraceSpecificPrefix { + postFix = "-withTraceSpecificPrefix" + } + + t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAnd%v-%v%v", testName, traceType, postFix), func(t *testing.T) { + var prefix string + if withTraceSpecificPrefix { + prefix = fmt.Sprintf("%v-", traceTypeForFlagPrefix) + } + flagName := fmt.Sprintf("%v%v", prefix, flag) + + verifyArgsInvalid( + t, + expectedError, + addRequiredArgs(traceType, fmt.Sprintf("--%v=somevalue.json", flagName))) + }) + } + } +} + func TestAsteriscBaseRequiredArgs(t *testing.T) { for _, traceType := range []types.TraceType{types.TraceTypeAsterisc, types.TraceTypeAsteriscKona} { traceType := traceType @@ -581,12 +623,7 @@ func TestAsteriscBaseRequiredArgs(t *testing.T) { addRequiredArgsExcept(traceType, "--network", "--l2-genesis=gensis.json")) }) - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - verifyArgsInvalid( - t, - "flag network can not be used with rollup-config, l2-genesis or asterisc-kona-l2-custom", - addRequiredArgs(traceType, "--rollup-config=rollup.json")) - }) + validateCustomNetworkFlagsProhibitedWithNetworkFlag(t, traceType, types.TraceTypeAsteriscKona, "asterisc-kona-l2-custom") t.Run(fmt.Sprintf("TestNetwork-%v", traceType), func(t *testing.T) { t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) { @@ -669,26 +706,7 @@ func TestCannonCustomConfigArgs(t *testing.T) { addRequiredArgsExcept(traceType, "--network", "--cannon-l2-genesis=gensis.json")) }) - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - verifyArgsInvalid( - t, - "flag network can not be used with cannon-rollup-config, l2-genesis or cannon-l2-custom", - addRequiredArgs(traceType, "--cannon-rollup-config=rollup.json")) - }) - - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - args := requiredArgs(traceType) - delete(args, "--network") - delete(args, "--game-factory-address") - args["--network"] = network - args["--cannon-rollup-config"] = "rollup.json" - args["--cannon-l2-genesis"] = "gensis.json" - args["--cannon-l2-custom"] = "true" - verifyArgsInvalid( - t, - "flag network can not be used with cannon-rollup-config, cannon-l2-genesis or cannon-l2-custom", - toArgList(args)) - }) + validateCustomNetworkFlagsProhibitedWithNetworkFlag(t, traceType, types.TraceTypeCannon, "cannon-l2-custom") t.Run(fmt.Sprintf("TestNetwork-%v", traceType), func(t *testing.T) { t.Run("NotRequiredWhenRollupAndGenesIsSpecified", func(t *testing.T) { @@ -762,26 +780,7 @@ func TestSuperCannonCustomConfigArgs(t *testing.T) { addRequiredArgsExcept(traceType, "--network", "--cannon-rollup-config=rollup.json", "--cannon-l2-genesis=gensis.json")) }) - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - verifyArgsInvalid( - t, - "flag network can not be used with cannon-rollup-config, l2-genesis or cannon-l2-custom", - addRequiredArgs(traceType, "--cannon-rollup-config=rollup.json")) - }) - - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - args := requiredArgs(traceType) - delete(args, "--network") - delete(args, "--game-factory-address") - args["--network"] = network - args["--cannon-rollup-config"] = "rollup.json" - args["--cannon-l2-genesis"] = "gensis.json" - args["--cannon-l2-custom"] = "true" - verifyArgsInvalid( - t, - "flag network can not be used with cannon-rollup-config, cannon-l2-genesis or cannon-l2-custom", - toArgList(args)) - }) + validateCustomNetworkFlagsProhibitedWithNetworkFlag(t, traceType, types.TraceTypeCannon, "cannon-l2-custom") t.Run(fmt.Sprintf("TestNetwork-%v", traceType), func(t *testing.T) { t.Run("NotRequiredWhenRollupGenesisAndDepsetIsSpecified", func(t *testing.T) { @@ -868,26 +867,7 @@ func TestSuperAsteriscKonaCustomConfigArgs(t *testing.T) { addRequiredArgsExcept(traceType, "--network", "--asterisc-kona-rollup-config=rollup.json", "--asterisc-kona-l2-genesis=gensis.json")) }) - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - verifyArgsInvalid( - t, - "flag network can not be used with asterisc-kona-rollup-config, l2-genesis or asterisc-kona-l2-custom", - addRequiredArgs(traceType, "--asterisc-kona-rollup-config=rollup.json")) - }) - - t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { - args := requiredArgs(traceType) - delete(args, "--network") - delete(args, "--game-factory-address") - args["--network"] = network - args["--asterisc-kona-rollup-config"] = "rollup.json" - args["--asterisc-kona-l2-genesis"] = "gensis.json" - args["--asterisc-kona-l2-custom"] = "true" - verifyArgsInvalid( - t, - "flag network can not be used with asterisc-kona-rollup-config, asterisc-kona-l2-genesis or asterisc-kona-l2-custom", - toArgList(args)) - }) + validateCustomNetworkFlagsProhibitedWithNetworkFlag(t, traceType, types.TraceTypeAsteriscKona, "asterisc-kona-l2-custom") t.Run(fmt.Sprintf("TestNetwork-%v", traceType), func(t *testing.T) { t.Run("NotRequiredWhenRollupGenesisAndDepsetIsSpecified", func(t *testing.T) { diff --git a/op-challenger/flags/flags.go b/op-challenger/flags/flags.go index c5b104174be1a..dd00ea6fc6a7b 100644 --- a/op-challenger/flags/flags.go +++ b/op-challenger/flags/flags.go @@ -367,9 +367,9 @@ func checkOutputProviderFlags(ctx *cli.Context) error { func CheckCannonBaseFlags(ctx *cli.Context) error { if ctx.IsSet(flags.NetworkFlagName) && - (RollupConfigFlag.IsSet(ctx, types.TraceTypeCannon) || L2GenesisFlag.IsSet(ctx, types.TraceTypeCannon) || ctx.Bool(CannonL2CustomFlag.Name)) { - return fmt.Errorf("flag %v can not be used with %v, %v or %v", - flags.NetworkFlagName, RollupConfigFlag.SourceFlagName(ctx, types.TraceTypeCannon), L2GenesisFlag.SourceFlagName(ctx, types.TraceTypeCannon), CannonL2CustomFlag.Name) + (RollupConfigFlag.IsSet(ctx, types.TraceTypeCannon) || L2GenesisFlag.IsSet(ctx, types.TraceTypeCannon) || L1GenesisFlag.IsSet(ctx, types.TraceTypeCannon) || ctx.Bool(CannonL2CustomFlag.Name)) { + return fmt.Errorf("flag %v can not be used with %v, %v, %v or %v", + flags.NetworkFlagName, RollupConfigFlag.EitherFlagName(types.TraceTypeCannon), L2GenesisFlag.EitherFlagName(types.TraceTypeCannon), L1GenesisFlag.EitherFlagName(types.TraceTypeCannon), CannonL2CustomFlag.Name) } if ctx.Bool(CannonL2CustomFlag.Name) && !(RollupConfigFlag.IsSet(ctx, types.TraceTypeCannon) && L2GenesisFlag.IsSet(ctx, types.TraceTypeCannon)) { return fmt.Errorf("flag %v and %v must be set when %v is true", @@ -427,9 +427,9 @@ func CheckCannonKonaBaseFlags(ctx *cli.Context, traceType types.TraceType) error flags.NetworkFlagName, RollupConfigFlag.EitherFlagName(traceType), L2GenesisFlag.EitherFlagName(traceType)) } if ctx.IsSet(flags.NetworkFlagName) && - (RollupConfigFlag.IsSet(ctx, types.TraceTypeCannonKona) || L2GenesisFlag.IsSet(ctx, types.TraceTypeCannonKona) || ctx.Bool(CannonKonaL2CustomFlag.Name)) { - return fmt.Errorf("flag %v can not be used with %v, %v or %v", - flags.NetworkFlagName, RollupConfigFlag.SourceFlagName(ctx, types.TraceTypeCannonKona), L2GenesisFlag.SourceFlagName(ctx, types.TraceTypeCannonKona), CannonKonaL2CustomFlag.Name) + (RollupConfigFlag.IsSet(ctx, types.TraceTypeCannonKona) || L2GenesisFlag.IsSet(ctx, types.TraceTypeCannonKona) || L1GenesisFlag.IsSet(ctx, types.TraceTypeCannonKona) || ctx.Bool(CannonKonaL2CustomFlag.Name)) { + return fmt.Errorf("flag %v can not be used with %v, %v, %v or %v", + flags.NetworkFlagName, RollupConfigFlag.EitherFlagName(types.TraceTypeCannonKona), L2GenesisFlag.EitherFlagName(types.TraceTypeCannonKona), L1GenesisFlag.EitherFlagName(types.TraceTypeCannonKona), CannonKonaL2CustomFlag.Name) } if !ctx.IsSet(CannonBinFlag.Name) { return fmt.Errorf("flag %s is required", CannonBinFlag.Name) @@ -460,9 +460,9 @@ func CheckAsteriscBaseFlags(ctx *cli.Context, traceType types.TraceType) error { flags.NetworkFlagName, RollupConfigFlag.EitherFlagName(traceType), L2GenesisFlag.EitherFlagName(traceType)) } if ctx.IsSet(flags.NetworkFlagName) && - (RollupConfigFlag.IsSet(ctx, types.TraceTypeAsteriscKona) || L2GenesisFlag.IsSet(ctx, types.TraceTypeAsteriscKona) || ctx.Bool(AsteriscKonaL2CustomFlag.Name)) { - return fmt.Errorf("flag %v can not be used with %v, %v or %v", - flags.NetworkFlagName, RollupConfigFlag.SourceFlagName(ctx, types.TraceTypeAsteriscKona), L2GenesisFlag.SourceFlagName(ctx, types.TraceTypeAsteriscKona), AsteriscKonaL2CustomFlag.Name) + (RollupConfigFlag.IsSet(ctx, types.TraceTypeAsteriscKona) || L2GenesisFlag.IsSet(ctx, types.TraceTypeAsteriscKona) || L1GenesisFlag.IsSet(ctx, types.TraceTypeAsteriscKona) || ctx.Bool(AsteriscKonaL2CustomFlag.Name)) { + return fmt.Errorf("flag %v can not be used with %v, %v, %v or %v", + flags.NetworkFlagName, RollupConfigFlag.EitherFlagName(types.TraceTypeAsteriscKona), L2GenesisFlag.EitherFlagName(types.TraceTypeAsteriscKona), L1GenesisFlag.EitherFlagName(types.TraceTypeAsteriscKona), AsteriscKonaL2CustomFlag.Name) } if !ctx.IsSet(AsteriscBinFlag.Name) { return fmt.Errorf("flag %s is required", AsteriscBinFlag.Name) From f60503e6be562f7025f639eafba7b0d847ee3713 Mon Sep 17 00:00:00 2001 From: geoknee Date: Mon, 6 Oct 2025 14:47:26 +0100 Subject: [PATCH 3/4] typo --- op-challenger/flags/flags.go | 129 ++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 64 deletions(-) diff --git a/op-challenger/flags/flags.go b/op-challenger/flags/flags.go index 973a64820966a..da834477c5ab6 100644 --- a/op-challenger/flags/flags.go +++ b/op-challenger/flags/flags.go @@ -716,82 +716,83 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro RollupRpc: ctx.String(RollupRpcFlag.Name), SupervisorRPC: ctx.String(SupervisorRpcFlag.Name), Cannon: vm.Config{ - VmType: types.TraceTypeCannon, - L1: l1EthRpc, - L1Beacon: l1Beacon, - L2s: l2Rpcs, - L2Experimental: l2Experimental, - VmBin: ctx.String(CannonBinFlag.Name), - Server: ctx.String(CannonServerFlag.Name), - Networks: networks, - L2Custom: ctx.Bool(CannonL2CustomFlag.Name), - RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannon), - L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannon), - L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannon), - DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannon), - SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), - InfoFreq: ctx.Uint(CannonInfoFreqFlag.Name), - DebugInfo: true, - BinarySnapshots: true, + VmType: types.TraceTypeCannon, + L1: l1EthRpc, + L1Beacon: l1Beacon, + L2s: l2Rpcs, + L2Experimental: l2Experimental, + VmBin: ctx.String(CannonBinFlag.Name), + Server: ctx.String(CannonServerFlag.Name), + Networks: networks, + L2Custom: ctx.Bool(CannonL2CustomFlag.Name), + RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannon), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannon), + L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannon), + DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannon), + SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), + InfoFreq: ctx.Uint(CannonInfoFreqFlag.Name), + DebugInfo: true, + BinarySnapshots: true, }, CannonAbsolutePreState: ctx.String(CannonPreStateFlag.Name), CannonAbsolutePreStateBaseURL: cannonPreStatesURL, CannonKona: vm.Config{ - L1: l1EthRpc, - L1Beacon: l1Beacon, - L2s: l2Rpcs, - L2Experimental: l2Experimental, - VmBin: ctx.String(CannonBinFlag.Name), - Server: ctx.String(CannonKonaServerFlag.Name), - Networks: networks, - L2Custom: ctx.Bool(CannonKonaL2CustomFlag.Name), - RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannonKona), - L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannonKona), - L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannonKona), - DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannonKona), - SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), - InfoFreq: ctx.Uint(CannonInfoFreqFlag.Name), - DebugInfo: true, - BinarySnapshots: true, + L1: l1EthRpc, + L1Beacon: l1Beacon, + L2s: l2Rpcs, + L2Experimental: l2Experimental, + VmBin: ctx.String(CannonBinFlag.Name), + Server: ctx.String(CannonKonaServerFlag.Name), + Networks: networks, + L2Custom: ctx.Bool(CannonKonaL2CustomFlag.Name), + RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeCannonKona), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeCannonKona), + L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeCannonKona), + DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeCannonKona), + SnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), + InfoFreq: ctx.Uint(CannonInfoFreqFlag.Name), + DebugInfo: true, + BinarySnapshots: true, + }, CannonKonaAbsolutePreState: ctx.String(CannonKonaPreStateFlag.Name), CannonKonaAbsolutePreStateBaseURL: cannonKonaPreStatesURL, Datadir: ctx.String(DatadirFlag.Name), Asterisc: vm.Config{ - VmType: types.TraceTypeAsterisc, - L1: l1EthRpc, - L1Beacon: l1Beacon, - L2s: l2Rpcs, - L2Experimental: l2Experimental, - VmBin: ctx.String(AsteriscBinFlag.Name), - Server: ctx.String(AsteriscServerFlag.Name), - Networks: networks, - RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsterisc), - L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsterisc), - L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsterisc), - DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsterisc), - SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), - InfoFreq: ctx.Uint(AsteriscInfoFreqFlag.Name), - BinarySnapshots: true, + VmType: types.TraceTypeAsterisc, + L1: l1EthRpc, + L1Beacon: l1Beacon, + L2s: l2Rpcs, + L2Experimental: l2Experimental, + VmBin: ctx.String(AsteriscBinFlag.Name), + Server: ctx.String(AsteriscServerFlag.Name), + Networks: networks, + RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsterisc), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsterisc), + L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsterisc), + DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsterisc), + SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), + InfoFreq: ctx.Uint(AsteriscInfoFreqFlag.Name), + BinarySnapshots: true, }, AsteriscAbsolutePreState: ctx.String(AsteriscPreStateFlag.Name), AsteriscAbsolutePreStateBaseURL: asteriscPreStatesURL, AsteriscKona: vm.Config{ - VmType: types.TraceTypeAsteriscKona, - L1: l1EthRpc, - L1Beacon: l1Beacon, - L2s: l2Rpcs, - L2Experimental: l2Experimental, - VmBin: ctx.String(AsteriscBinFlag.Name), - Server: ctx.String(AsteriscKonaServerFlag.Name), - Networks: networks, - L2Custom: ctx.Bool(AsteriscKonaL2CustomFlag.Name), - RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), - L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsteriscKona), - L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), - DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsteriscKona), - SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), - InfoFreq: ctx.Uint(AsteriscInfoFreqFlag.Name), - BinarySnapshots: true, + VmType: types.TraceTypeAsteriscKona, + L1: l1EthRpc, + L1Beacon: l1Beacon, + L2s: l2Rpcs, + L2Experimental: l2Experimental, + VmBin: ctx.String(AsteriscBinFlag.Name), + Server: ctx.String(AsteriscKonaServerFlag.Name), + Networks: networks, + L2Custom: ctx.Bool(AsteriscKonaL2CustomFlag.Name), + RollupConfigPaths: RollupConfigFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), + L1GenesisPath: L1GenesisFlag.String(ctx, types.TraceTypeAsteriscKona), + L2GenesisPaths: L2GenesisFlag.StringSlice(ctx, types.TraceTypeAsteriscKona), + DepsetConfigPath: DepsetConfigFlag.String(ctx, types.TraceTypeAsteriscKona), + SnapshotFreq: ctx.Uint(AsteriscSnapshotFreqFlag.Name), + InfoFreq: ctx.Uint(AsteriscInfoFreqFlag.Name), + BinarySnapshots: true, }, AsteriscKonaAbsolutePreState: ctx.String(AsteriscKonaPreStateFlag.Name), AsteriscKonaAbsolutePreStateBaseURL: asteriscKonaPreStatesURL, From a8f3fb3c98bef20d9351014a187d0020488953cb Mon Sep 17 00:00:00 2001 From: geoknee Date: Mon, 6 Oct 2025 15:43:50 +0100 Subject: [PATCH 4/4] another typo --- op-challenger/flags/flags.go | 1 + 1 file changed, 1 insertion(+) diff --git a/op-challenger/flags/flags.go b/op-challenger/flags/flags.go index da834477c5ab6..20fa198030434 100644 --- a/op-challenger/flags/flags.go +++ b/op-challenger/flags/flags.go @@ -737,6 +737,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro CannonAbsolutePreState: ctx.String(CannonPreStateFlag.Name), CannonAbsolutePreStateBaseURL: cannonPreStatesURL, CannonKona: vm.Config{ + VmType: types.TraceTypeCannonKona, L1: l1EthRpc, L1Beacon: l1Beacon, L2s: l2Rpcs,