github.com/ethereum-optimism/optimism@v1.7.2/op-node/cmd/networks/cmd.go (about)

     1  package networks
     2  
     3  import (
     4  	"encoding/json"
     5  	"errors"
     6  	"fmt"
     7  
     8  	"github.com/urfave/cli/v2"
     9  
    10  	opnode "github.com/ethereum-optimism/optimism/op-node"
    11  	"github.com/ethereum-optimism/optimism/op-node/flags"
    12  	opflags "github.com/ethereum-optimism/optimism/op-service/flags"
    13  	oplog "github.com/ethereum-optimism/optimism/op-service/log"
    14  )
    15  
    16  var Subcommands = []*cli.Command{
    17  	{
    18  		Name:  "dump-rollup-config",
    19  		Usage: "Dumps network configs",
    20  		Flags: []cli.Flag{
    21  			opflags.CLINetworkFlag(flags.EnvVarPrefix, ""),
    22  		},
    23  		Action: func(ctx *cli.Context) error {
    24  			logCfg := oplog.ReadCLIConfig(ctx)
    25  			logger := oplog.NewLogger(oplog.AppOut(ctx), logCfg)
    26  
    27  			network := ctx.String(opflags.NetworkFlagName)
    28  			if network == "" {
    29  				return errors.New("must specify a network name")
    30  			}
    31  
    32  			rCfg, err := opnode.NewRollupConfigFromCLI(logger, ctx)
    33  			if err != nil {
    34  				return err
    35  			}
    36  
    37  			out, err := json.MarshalIndent(rCfg, "", "  ")
    38  			if err != nil {
    39  				return err
    40  			}
    41  			fmt.Println(string(out))
    42  			return nil
    43  		},
    44  	},
    45  }