Commit 539a16e3 authored by Joshua Gutow's avatar Joshua Gutow

Backwards compatibility with flags

parent 9055d49a
...@@ -15,8 +15,7 @@ import ( ...@@ -15,8 +15,7 @@ import (
const envVarPrefix = "OP_BATCHER" const envVarPrefix = "OP_BATCHER"
var ( var (
/* Required flags */ // Required flags
L1EthRpcFlag = cli.StringFlag{ L1EthRpcFlag = cli.StringFlag{
Name: "l1-eth-rpc", Name: "l1-eth-rpc",
Usage: "HTTP provider URL for L1", Usage: "HTTP provider URL for L1",
...@@ -51,8 +50,7 @@ var ( ...@@ -51,8 +50,7 @@ var (
EnvVar: opservice.PrefixEnvVar(envVarPrefix, "POLL_INTERVAL"), EnvVar: opservice.PrefixEnvVar(envVarPrefix, "POLL_INTERVAL"),
} }
/* Optional flags */ // Optional flags
MaxChannelDurationFlag = cli.Uint64Flag{ MaxChannelDurationFlag = cli.Uint64Flag{
Name: "max-channel-duration", Name: "max-channel-duration",
Usage: "The maximum duration of L1-blocks to keep a channel open. 0 to disable.", Usage: "The maximum duration of L1-blocks to keep a channel open. 0 to disable.",
...@@ -88,6 +86,8 @@ var ( ...@@ -88,6 +86,8 @@ var (
Usage: "Initialize the batcher in a stopped state. The batcher can be started using the admin_startBatcher RPC", Usage: "Initialize the batcher in a stopped state. The batcher can be started using the admin_startBatcher RPC",
EnvVar: opservice.PrefixEnvVar(envVarPrefix, "STOPPED"), EnvVar: opservice.PrefixEnvVar(envVarPrefix, "STOPPED"),
} }
// Legacy Flags
SequencerHDPathFlag = txmgr.SequencerHDPathFlag
) )
var requiredFlags = []cli.Flag{ var requiredFlags = []cli.Flag{
......
...@@ -14,7 +14,7 @@ import ( ...@@ -14,7 +14,7 @@ import (
const envVarPrefix = "OP_PROPOSER" const envVarPrefix = "OP_PROPOSER"
var ( var (
/* Required Flags */ // Required Flags
L1EthRpcFlag = cli.StringFlag{ L1EthRpcFlag = cli.StringFlag{
Name: "l1-eth-rpc", Name: "l1-eth-rpc",
Usage: "HTTP provider URL for L1", Usage: "HTTP provider URL for L1",
...@@ -40,12 +40,14 @@ var ( ...@@ -40,12 +40,14 @@ var (
Required: true, Required: true,
EnvVar: opservice.PrefixEnvVar(envVarPrefix, "POLL_INTERVAL"), EnvVar: opservice.PrefixEnvVar(envVarPrefix, "POLL_INTERVAL"),
} }
/* Optional flags */ // Optional flags
AllowNonFinalizedFlag = cli.BoolFlag{ AllowNonFinalizedFlag = cli.BoolFlag{
Name: "allow-non-finalized", Name: "allow-non-finalized",
Usage: "Allow the proposer to submit proposals for L2 blocks derived from non-finalized L1 blocks.", Usage: "Allow the proposer to submit proposals for L2 blocks derived from non-finalized L1 blocks.",
EnvVar: opservice.PrefixEnvVar(envVarPrefix, "ALLOW_NON_FINALIZED"), EnvVar: opservice.PrefixEnvVar(envVarPrefix, "ALLOW_NON_FINALIZED"),
} }
// Legacy Flags
L2OutputHDPathFlag = txmgr.L2OutputHDPathFlag
) )
var requiredFlags = []cli.Flag{ var requiredFlags = []cli.Flag{
......
...@@ -28,6 +28,21 @@ const ( ...@@ -28,6 +28,21 @@ const (
ResubmissionTimeoutFlagName = "resubmission-timeout" ResubmissionTimeoutFlagName = "resubmission-timeout"
) )
var (
SequencerHDPathFlag = cli.StringFlag{
Name: "sequencer-hd-path",
Usage: "DEPRECATED: The HD path used to derive the sequencer wallet from the " +
"mnemonic. The mnemonic flag must also be set.",
EnvVar: "OP_BATCHER_SEQUENCER_HD_PATH",
}
L2OutputHDPathFlag = cli.StringFlag{
Name: "l2-output-hd-path",
Usage: "DEPRECATED:The HD path used to derive the l2output wallet from the " +
"mnemonic. The mnemonic flag must also be set.",
EnvVar: "OP_PROPOSER_L2_OUTPUT_HD_PATH",
}
)
func CLIFlags(envPrefix string) []cli.Flag { func CLIFlags(envPrefix string) []cli.Flag {
return append([]cli.Flag{ return append([]cli.Flag{
cli.StringFlag{ cli.StringFlag{
...@@ -40,6 +55,8 @@ func CLIFlags(envPrefix string) []cli.Flag { ...@@ -40,6 +55,8 @@ func CLIFlags(envPrefix string) []cli.Flag {
Usage: "The HD path used to derive the sequencer wallet from the mnemonic. The mnemonic flag must also be set.", Usage: "The HD path used to derive the sequencer wallet from the mnemonic. The mnemonic flag must also be set.",
EnvVar: opservice.PrefixEnvVar(envPrefix, "HD_PATH"), EnvVar: opservice.PrefixEnvVar(envPrefix, "HD_PATH"),
}, },
SequencerHDPathFlag,
L2OutputHDPathFlag,
cli.StringFlag{ cli.StringFlag{
Name: "private-key", Name: "private-key",
Usage: "The private key to use with the service. Must not be used with mnemonic.", Usage: "The private key to use with the service. Must not be used with mnemonic.",
...@@ -69,7 +86,9 @@ func CLIFlags(envPrefix string) []cli.Flag { ...@@ -69,7 +86,9 @@ func CLIFlags(envPrefix string) []cli.Flag {
type CLIConfig struct { type CLIConfig struct {
L1RPCURL string L1RPCURL string
Mnemonic string Mnemonic string
HDPath string
SequencerHDPath string SequencerHDPath string
L2OutputHDPath string
PrivateKey string PrivateKey string
SignerCLIConfig client.CLIConfig SignerCLIConfig client.CLIConfig
NumConfirmations uint64 NumConfirmations uint64
...@@ -91,7 +110,9 @@ func ReadCLIConfig(ctx *cli.Context) CLIConfig { ...@@ -91,7 +110,9 @@ func ReadCLIConfig(ctx *cli.Context) CLIConfig {
return CLIConfig{ return CLIConfig{
L1RPCURL: ctx.GlobalString(L1RPCFlagName), L1RPCURL: ctx.GlobalString(L1RPCFlagName),
Mnemonic: ctx.GlobalString(MnemonicFlagName), Mnemonic: ctx.GlobalString(MnemonicFlagName),
SequencerHDPath: ctx.GlobalString(HDPathFlagName), HDPath: ctx.GlobalString(HDPathFlagName),
SequencerHDPath: ctx.GlobalString(SequencerHDPathFlag.Name),
L2OutputHDPath: ctx.GlobalString(L2OutputHDPathFlag.Name),
PrivateKey: ctx.GlobalString(PrivateKeyFlagName), PrivateKey: ctx.GlobalString(PrivateKeyFlagName),
SignerCLIConfig: client.ReadCLIConfig(ctx), SignerCLIConfig: client.ReadCLIConfig(ctx),
NumConfirmations: ctx.GlobalUint64(NumConfirmationsFlagName), NumConfirmations: ctx.GlobalUint64(NumConfirmationsFlagName),
...@@ -120,8 +141,14 @@ func NewConfig(cfg CLIConfig, l log.Logger) (Config, error) { ...@@ -120,8 +141,14 @@ func NewConfig(cfg CLIConfig, l log.Logger) (Config, error) {
if err != nil { if err != nil {
return Config{}, err return Config{}, err
} }
hdPath := cfg.HDPath
if hdPath == "" && cfg.SequencerHDPath != "" {
hdPath = cfg.SequencerHDPath
} else if hdPath == "" && cfg.L2OutputHDPath != "" {
hdPath = cfg.L2OutputHDPath
}
signerFactory, from, err := opcrypto.SignerFactoryFromConfig(l, cfg.PrivateKey, cfg.Mnemonic, cfg.SequencerHDPath, cfg.SignerCLIConfig) signerFactory, from, err := opcrypto.SignerFactoryFromConfig(l, cfg.PrivateKey, cfg.Mnemonic, hdPath, cfg.SignerCLIConfig)
if err != nil { if err != nil {
return Config{}, err return Config{}, err
} }
......
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