Commit f0977b5c authored by Adrian Sutton's avatar Adrian Sutton Committed by GitHub

challenger: Deprecate cannon-network and asterisc-network in favour of network (#10727)

parent 8c426521
...@@ -377,19 +377,19 @@ func TestAsteriscRequiredArgs(t *testing.T) { ...@@ -377,19 +377,19 @@ func TestAsteriscRequiredArgs(t *testing.T) {
t.Run(fmt.Sprintf("TestRequireEitherAsteriscNetworkOrRollupAndGenesis-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestRequireEitherAsteriscNetworkOrRollupAndGenesis-%v", traceType), func(t *testing.T) {
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag asterisc-network or asterisc-rollup-config and asterisc-l2-genesis is required", "flag asterisc-network, network or asterisc-rollup-config and asterisc-l2-genesis is required",
addRequiredArgsExcept(traceType, "--asterisc-network")) addRequiredArgsExcept(traceType, "--asterisc-network"))
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag asterisc-network or asterisc-rollup-config and asterisc-l2-genesis is required", "flag asterisc-network, network or asterisc-rollup-config and asterisc-l2-genesis is required",
addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-rollup-config=rollup.json")) addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-rollup-config=rollup.json"))
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag asterisc-network or asterisc-rollup-config and asterisc-l2-genesis is required", "flag asterisc-network, network or asterisc-rollup-config and asterisc-l2-genesis is required",
addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-l2-genesis=gensis.json")) addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-l2-genesis=gensis.json"))
}) })
t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestMustNotSpecifyAsteriscNetworkAndRollup-%v", traceType), func(t *testing.T) {
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag asterisc-network can not be used with asterisc-rollup-config and asterisc-l2-genesis", "flag asterisc-network can not be used with asterisc-rollup-config and asterisc-l2-genesis",
...@@ -397,6 +397,19 @@ func TestAsteriscRequiredArgs(t *testing.T) { ...@@ -397,6 +397,19 @@ func TestAsteriscRequiredArgs(t *testing.T) {
"--asterisc-network", asteriscNetwork, "--asterisc-rollup-config=rollup.json")) "--asterisc-network", asteriscNetwork, "--asterisc-rollup-config=rollup.json"))
}) })
t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) {
args := requiredArgs(traceType)
delete(args, "--asterisc-network")
delete(args, "--game-factory-address")
args["--network"] = asteriscNetwork
args["--asterisc-rollup-config"] = "rollup.json"
args["--asterisc-l2-genesis"] = "gensis.json"
verifyArgsInvalid(
t,
"flag network can not be used with asterisc-rollup-config and asterisc-l2-genesis",
toArgList(args))
})
t.Run(fmt.Sprintf("TestAsteriscNetwork-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestAsteriscNetwork-%v", traceType), func(t *testing.T) {
t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) { t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) {
configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--asterisc-network")) configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--asterisc-network"))
...@@ -407,6 +420,20 @@ func TestAsteriscRequiredArgs(t *testing.T) { ...@@ -407,6 +420,20 @@ func TestAsteriscRequiredArgs(t *testing.T) {
"--asterisc-rollup-config=rollup.json", "--asterisc-l2-genesis=genesis.json")) "--asterisc-rollup-config=rollup.json", "--asterisc-l2-genesis=genesis.json"))
}) })
t.Run("NotRequiredWhenNetworkSpecified", func(t *testing.T) {
args := requiredArgs(traceType)
delete(args, "--asterisc-network")
delete(args, "--game-factory-address")
args["--network"] = "op-sepolia"
cfg := configForArgs(t, toArgList(args))
require.Equal(t, "op-sepolia", cfg.AsteriscNetwork)
})
t.Run("MustNotSpecifyNetworkAndAsteriscNetwork", func(t *testing.T) {
verifyArgsInvalid(t, "flag asterisc-network can not be used with network",
addRequiredArgsExcept(traceType, "--game-factory-address", "--network", "op-sepolia"))
})
t.Run("Valid", func(t *testing.T) { t.Run("Valid", func(t *testing.T) {
cfg := configForArgs(t, addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-network", testNetwork)) cfg := configForArgs(t, addRequiredArgsExcept(traceType, "--asterisc-network", "--asterisc-network", testNetwork))
require.Equal(t, testNetwork, cfg.AsteriscNetwork) require.Equal(t, testNetwork, cfg.AsteriscNetwork)
...@@ -571,19 +598,19 @@ func TestCannonRequiredArgs(t *testing.T) { ...@@ -571,19 +598,19 @@ func TestCannonRequiredArgs(t *testing.T) {
t.Run(fmt.Sprintf("TestRequireEitherCannonNetworkOrRollupAndGenesis-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestRequireEitherCannonNetworkOrRollupAndGenesis-%v", traceType), func(t *testing.T) {
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag cannon-network or cannon-rollup-config and cannon-l2-genesis is required", "flag cannon-network, network or cannon-rollup-config and cannon-l2-genesis is required",
addRequiredArgsExcept(traceType, "--cannon-network")) addRequiredArgsExcept(traceType, "--cannon-network"))
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag cannon-network or cannon-rollup-config and cannon-l2-genesis is required", "flag cannon-network, network or cannon-rollup-config and cannon-l2-genesis is required",
addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-rollup-config=rollup.json")) addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-rollup-config=rollup.json"))
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag cannon-network or cannon-rollup-config and cannon-l2-genesis is required", "flag cannon-network, network or cannon-rollup-config and cannon-l2-genesis is required",
addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-l2-genesis=gensis.json")) addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-l2-genesis=gensis.json"))
}) })
t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestMustNotSpecifyCannonNetworkAndRollup-%v", traceType), func(t *testing.T) {
verifyArgsInvalid( verifyArgsInvalid(
t, t,
"flag cannon-network can not be used with cannon-rollup-config and cannon-l2-genesis", "flag cannon-network can not be used with cannon-rollup-config and cannon-l2-genesis",
...@@ -591,6 +618,19 @@ func TestCannonRequiredArgs(t *testing.T) { ...@@ -591,6 +618,19 @@ func TestCannonRequiredArgs(t *testing.T) {
"--cannon-network", cannonNetwork, "--cannon-rollup-config=rollup.json")) "--cannon-network", cannonNetwork, "--cannon-rollup-config=rollup.json"))
}) })
t.Run(fmt.Sprintf("TestMustNotSpecifyNetworkAndRollup-%v", traceType), func(t *testing.T) {
args := requiredArgs(traceType)
delete(args, "--cannon-network")
delete(args, "--game-factory-address")
args["--network"] = cannonNetwork
args["--cannon-rollup-config"] = "rollup.json"
args["--cannon-l2-genesis"] = "gensis.json"
verifyArgsInvalid(
t,
"flag network can not be used with cannon-rollup-config and cannon-l2-genesis",
toArgList(args))
})
t.Run(fmt.Sprintf("TestCannonNetwork-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestCannonNetwork-%v", traceType), func(t *testing.T) {
t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) { t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) {
configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--cannon-network")) configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--cannon-network"))
...@@ -601,6 +641,20 @@ func TestCannonRequiredArgs(t *testing.T) { ...@@ -601,6 +641,20 @@ func TestCannonRequiredArgs(t *testing.T) {
"--cannon-rollup-config=rollup.json", "--cannon-l2-genesis=genesis.json")) "--cannon-rollup-config=rollup.json", "--cannon-l2-genesis=genesis.json"))
}) })
t.Run("NotRequiredWhenNetworkSpecified", func(t *testing.T) {
args := requiredArgs(traceType)
delete(args, "--cannon-network")
delete(args, "--game-factory-address")
args["--network"] = "op-sepolia"
cfg := configForArgs(t, toArgList(args))
require.Equal(t, "op-sepolia", cfg.CannonNetwork)
})
t.Run("MustNotSpecifyNetworkAndCannonNetwork", func(t *testing.T) {
verifyArgsInvalid(t, "flag cannon-network can not be used with network",
addRequiredArgsExcept(traceType, "--game-factory-address", "--network", "op-sepolia"))
})
t.Run("Valid", func(t *testing.T) { t.Run("Valid", func(t *testing.T) {
cfg := configForArgs(t, addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-network", testNetwork)) cfg := configForArgs(t, addRequiredArgsExcept(traceType, "--cannon-network", "--cannon-network", testNetwork))
require.Equal(t, testNetwork, cfg.CannonNetwork) require.Equal(t, testNetwork, cfg.CannonNetwork)
...@@ -618,7 +672,7 @@ func TestCannonRequiredArgs(t *testing.T) { ...@@ -618,7 +672,7 @@ func TestCannonRequiredArgs(t *testing.T) {
}) })
}) })
t.Run(fmt.Sprintf("TestCannonL2qGenesis-%v", traceType), func(t *testing.T) { t.Run(fmt.Sprintf("TestCannonL2Genesis-%v", traceType), func(t *testing.T) {
t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) { t.Run("NotRequiredForAlphabetTrace", func(t *testing.T) {
configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--cannon-l2-genesis")) configForArgs(t, addRequiredArgsExcept(config.TraceTypeAlphabet, "--cannon-l2-genesis"))
}) })
......
...@@ -100,10 +100,7 @@ var ( ...@@ -100,10 +100,7 @@ var (
} }
CannonNetworkFlag = &cli.StringFlag{ CannonNetworkFlag = &cli.StringFlag{
Name: "cannon-network", Name: "cannon-network",
Usage: fmt.Sprintf( Usage: fmt.Sprintf("Deprecated: Use %v instead", flags.NetworkFlagName),
"Predefined network selection. Available networks: %s (cannon trace type only)",
strings.Join(chaincfg.AvailableNetworks(), ", "),
),
EnvVars: prefixEnvVars("CANNON_NETWORK"), EnvVars: prefixEnvVars("CANNON_NETWORK"),
} }
CannonRollupConfigFlag = &cli.StringFlag{ CannonRollupConfigFlag = &cli.StringFlag{
...@@ -156,10 +153,7 @@ var ( ...@@ -156,10 +153,7 @@ var (
} }
AsteriscNetworkFlag = &cli.StringFlag{ AsteriscNetworkFlag = &cli.StringFlag{
Name: "asterisc-network", Name: "asterisc-network",
Usage: fmt.Sprintf( Usage: fmt.Sprintf("Deprecated: Use %v instead", flags.NetworkFlagName),
"Predefined network selection. Available networks: %s (asterisc trace type only)",
strings.Join(chaincfg.AvailableNetworks(), ", "),
),
EnvVars: prefixEnvVars("ASTERISC_NETWORK"), EnvVars: prefixEnvVars("ASTERISC_NETWORK"),
} }
AsteriscRollupConfigFlag = &cli.StringFlag{ AsteriscRollupConfigFlag = &cli.StringFlag{
...@@ -281,10 +275,19 @@ func init() { ...@@ -281,10 +275,19 @@ func init() {
var Flags []cli.Flag var Flags []cli.Flag
func CheckCannonFlags(ctx *cli.Context) error { func CheckCannonFlags(ctx *cli.Context) error {
if ctx.IsSet(CannonNetworkFlag.Name) && ctx.IsSet(flags.NetworkFlagName) {
return fmt.Errorf("flag %v can not be used with %v", CannonNetworkFlag.Name, flags.NetworkFlagName)
}
if !ctx.IsSet(CannonNetworkFlag.Name) && if !ctx.IsSet(CannonNetworkFlag.Name) &&
!ctx.IsSet(flags.NetworkFlagName) &&
!(ctx.IsSet(CannonRollupConfigFlag.Name) && ctx.IsSet(CannonL2GenesisFlag.Name)) { !(ctx.IsSet(CannonRollupConfigFlag.Name) && ctx.IsSet(CannonL2GenesisFlag.Name)) {
return fmt.Errorf("flag %v or %v and %v is required", return fmt.Errorf("flag %v, %v or %v and %v is required",
CannonNetworkFlag.Name, CannonRollupConfigFlag.Name, CannonL2GenesisFlag.Name) CannonNetworkFlag.Name, flags.NetworkFlagName, CannonRollupConfigFlag.Name, CannonL2GenesisFlag.Name)
}
if ctx.IsSet(flags.NetworkFlagName) &&
(ctx.IsSet(CannonRollupConfigFlag.Name) || ctx.IsSet(CannonL2GenesisFlag.Name)) {
return fmt.Errorf("flag %v can not be used with %v and %v",
flags.NetworkFlagName, CannonRollupConfigFlag.Name, CannonL2GenesisFlag.Name)
} }
if ctx.IsSet(CannonNetworkFlag.Name) && if ctx.IsSet(CannonNetworkFlag.Name) &&
(ctx.IsSet(CannonRollupConfigFlag.Name) || ctx.IsSet(CannonL2GenesisFlag.Name)) { (ctx.IsSet(CannonRollupConfigFlag.Name) || ctx.IsSet(CannonL2GenesisFlag.Name)) {
...@@ -304,10 +307,19 @@ func CheckCannonFlags(ctx *cli.Context) error { ...@@ -304,10 +307,19 @@ func CheckCannonFlags(ctx *cli.Context) error {
} }
func CheckAsteriscFlags(ctx *cli.Context) error { func CheckAsteriscFlags(ctx *cli.Context) error {
if ctx.IsSet(AsteriscNetworkFlag.Name) && ctx.IsSet(flags.NetworkFlagName) {
return fmt.Errorf("flag %v can not be used with %v", AsteriscNetworkFlag.Name, flags.NetworkFlagName)
}
if !ctx.IsSet(AsteriscNetworkFlag.Name) && if !ctx.IsSet(AsteriscNetworkFlag.Name) &&
!ctx.IsSet(flags.NetworkFlagName) &&
!(ctx.IsSet(AsteriscRollupConfigFlag.Name) && ctx.IsSet(AsteriscL2GenesisFlag.Name)) { !(ctx.IsSet(AsteriscRollupConfigFlag.Name) && ctx.IsSet(AsteriscL2GenesisFlag.Name)) {
return fmt.Errorf("flag %v or %v and %v is required", return fmt.Errorf("flag %v, %v or %v and %v is required",
AsteriscNetworkFlag.Name, AsteriscRollupConfigFlag.Name, AsteriscL2GenesisFlag.Name) AsteriscNetworkFlag.Name, flags.NetworkFlagName, AsteriscRollupConfigFlag.Name, AsteriscL2GenesisFlag.Name)
}
if ctx.IsSet(flags.NetworkFlagName) &&
(ctx.IsSet(AsteriscRollupConfigFlag.Name) || ctx.IsSet(AsteriscL2GenesisFlag.Name)) {
return fmt.Errorf("flag %v can not be used with %v and %v",
flags.NetworkFlagName, AsteriscRollupConfigFlag.Name, AsteriscL2GenesisFlag.Name)
} }
if ctx.IsSet(AsteriscNetworkFlag.Name) && if ctx.IsSet(AsteriscNetworkFlag.Name) &&
(ctx.IsSet(AsteriscRollupConfigFlag.Name) || ctx.IsSet(AsteriscL2GenesisFlag.Name)) { (ctx.IsSet(AsteriscRollupConfigFlag.Name) || ctx.IsSet(AsteriscL2GenesisFlag.Name)) {
...@@ -478,6 +490,14 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro ...@@ -478,6 +490,14 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro
if err != nil { if err != nil {
return nil, err return nil, err
} }
cannonNetwork := ctx.String(CannonNetworkFlag.Name)
if ctx.IsSet(flags.NetworkFlagName) {
cannonNetwork = ctx.String(flags.NetworkFlagName)
}
asteriscNetwork := ctx.String(AsteriscNetworkFlag.Name)
if ctx.IsSet(flags.NetworkFlagName) {
asteriscNetwork = ctx.String(flags.NetworkFlagName)
}
return &config.Config{ return &config.Config{
// Required Flags // Required Flags
L1EthRpc: ctx.String(L1EthRpcFlag.Name), L1EthRpc: ctx.String(L1EthRpcFlag.Name),
...@@ -492,7 +512,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro ...@@ -492,7 +512,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro
PollInterval: ctx.Duration(HTTPPollInterval.Name), PollInterval: ctx.Duration(HTTPPollInterval.Name),
AdditionalBondClaimants: claimants, AdditionalBondClaimants: claimants,
RollupRpc: ctx.String(RollupRpcFlag.Name), RollupRpc: ctx.String(RollupRpcFlag.Name),
CannonNetwork: ctx.String(CannonNetworkFlag.Name), CannonNetwork: cannonNetwork,
CannonRollupConfigPath: ctx.String(CannonRollupConfigFlag.Name), CannonRollupConfigPath: ctx.String(CannonRollupConfigFlag.Name),
CannonL2GenesisPath: ctx.String(CannonL2GenesisFlag.Name), CannonL2GenesisPath: ctx.String(CannonL2GenesisFlag.Name),
CannonBin: ctx.String(CannonBinFlag.Name), CannonBin: ctx.String(CannonBinFlag.Name),
...@@ -502,7 +522,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro ...@@ -502,7 +522,7 @@ func NewConfigFromCLI(ctx *cli.Context, logger log.Logger) (*config.Config, erro
Datadir: ctx.String(DatadirFlag.Name), Datadir: ctx.String(DatadirFlag.Name),
CannonSnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name), CannonSnapshotFreq: ctx.Uint(CannonSnapshotFreqFlag.Name),
CannonInfoFreq: ctx.Uint(CannonInfoFreqFlag.Name), CannonInfoFreq: ctx.Uint(CannonInfoFreqFlag.Name),
AsteriscNetwork: ctx.String(AsteriscNetworkFlag.Name), AsteriscNetwork: asteriscNetwork,
AsteriscRollupConfigPath: ctx.String(AsteriscRollupConfigFlag.Name), AsteriscRollupConfigPath: ctx.String(AsteriscRollupConfigFlag.Name),
AsteriscL2GenesisPath: ctx.String(AsteriscL2GenesisFlag.Name), AsteriscL2GenesisPath: ctx.String(AsteriscL2GenesisFlag.Name),
AsteriscBin: ctx.String(AsteriscBinFlag.Name), AsteriscBin: ctx.String(AsteriscBinFlag.Name),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment