diff --git a/client/cmd/node/config.go b/client/cmd/node/config.go new file mode 100644 index 0000000..720fa11 --- /dev/null +++ b/client/cmd/node/config.go @@ -0,0 +1,17 @@ +package node + +import ( + "fmt" + "os" + + "source.quilibrium.com/quilibrium/monorepo/node/config" +) + +func LoadConfig(configDirectory string) (*config.Config, error) { + NodeConfig, err := config.LoadConfig(configDirectory, "", false) + if err != nil { + fmt.Printf("invalid config directory: %s\n", configDirectory) + os.Exit(1) + } + return NodeConfig, nil +} diff --git a/client/cmd/node/node.go b/client/cmd/node/node.go index a6c497e..e88b4a8 100644 --- a/client/cmd/node/node.go +++ b/client/cmd/node/node.go @@ -54,7 +54,7 @@ var NodeCmd = &cobra.Command{ os.Exit(1) } - NodeConfig, err = config.LoadConfig(configDirectory, "", false) + NodeConfig, err = LoadConfig(configDirectory) if err != nil { fmt.Printf("invalid config directory: %s\n", configDirectory) os.Exit(1) @@ -80,7 +80,6 @@ func init() { NodeCmd.AddCommand(installCmd) NodeCmd.AddCommand(updateNodeCmd) NodeCmd.AddCommand(nodeServiceCmd) - localOsType, localArch, err := utils.GetSystemInfo() if err != nil { fmt.Fprintf(os.Stderr, "Error: %v\n", err) diff --git a/client/cmd/node/prover.go b/client/cmd/node/prover.go deleted file mode 100644 index 3992a37..0000000 --- a/client/cmd/node/prover.go +++ /dev/null @@ -1,12 +0,0 @@ -package node - -import "github.com/spf13/cobra" - -var proverCmd = &cobra.Command{ - Use: "prover", - Short: "Performs a configuration operation for given prover info", -} - -func init() { - NodeCmd.AddCommand(proverCmd) -} diff --git a/client/cmd/node/premainnet-data/bridged.json b/client/cmd/node/prover/premainnet-data/bridged.json similarity index 100% rename from client/cmd/node/premainnet-data/bridged.json rename to client/cmd/node/prover/premainnet-data/bridged.json diff --git a/client/cmd/node/premainnet-data/first_retro.json b/client/cmd/node/prover/premainnet-data/first_retro.json similarity index 100% rename from client/cmd/node/premainnet-data/first_retro.json rename to client/cmd/node/prover/premainnet-data/first_retro.json diff --git a/client/cmd/node/premainnet-data/fourth_retro.json b/client/cmd/node/prover/premainnet-data/fourth_retro.json similarity index 100% rename from client/cmd/node/premainnet-data/fourth_retro.json rename to client/cmd/node/prover/premainnet-data/fourth_retro.json diff --git a/client/cmd/node/premainnet-data/second_retro.json b/client/cmd/node/prover/premainnet-data/second_retro.json similarity index 100% rename from client/cmd/node/premainnet-data/second_retro.json rename to client/cmd/node/prover/premainnet-data/second_retro.json diff --git a/client/cmd/node/premainnet-data/third_retro.json b/client/cmd/node/prover/premainnet-data/third_retro.json similarity index 100% rename from client/cmd/node/premainnet-data/third_retro.json rename to client/cmd/node/prover/premainnet-data/third_retro.json diff --git a/client/cmd/node/prover/prover.go b/client/cmd/node/prover/prover.go new file mode 100644 index 0000000..c18cc42 --- /dev/null +++ b/client/cmd/node/prover/prover.go @@ -0,0 +1,21 @@ +package prover + +import ( + "github.com/spf13/cobra" + clientNode "source.quilibrium.com/quilibrium/monorepo/client/cmd/node" +) + +var ConfigDirectory string + +var ProverCmd = &cobra.Command{ + Use: "prover", + Short: "Performs a configuration operation for given prover info", + Run: func(cmd *cobra.Command, args []string) {}, +} + +func init() { + ProverCmd.PersistentFlags().StringVar(&ConfigDirectory, "config", ".config", "config directory (default is .config/)") + ProverCmd.AddCommand(proverPauseCmd) + ProverCmd.AddCommand(proverConfigMergeCmd) + clientNode.NodeCmd.AddCommand(ProverCmd) +} diff --git a/client/cmd/node/proverMerge.go b/client/cmd/node/prover/proverMerge.go similarity index 85% rename from client/cmd/node/proverMerge.go rename to client/cmd/node/prover/proverMerge.go index 54f87ad..4b71480 100644 --- a/client/cmd/node/proverMerge.go +++ b/client/cmd/node/prover/proverMerge.go @@ -1,4 +1,4 @@ -package node +package prover import ( _ "embed" @@ -10,7 +10,8 @@ import ( "github.com/shopspring/decimal" "github.com/spf13/cobra" - "source.quilibrium.com/quilibrium/monorepo/node/config" + clientNode "source.quilibrium.com/quilibrium/monorepo/client/cmd/node" + nodeConfig "source.quilibrium.com/quilibrium/monorepo/node/config" ) var DryRun bool @@ -30,35 +31,35 @@ var proverConfigMergeCmd = &cobra.Command{ os.Exit(1) } - primaryConfig, err := config.LoadConfig(args[0], "", true) + primaryConfig, err := nodeConfig.LoadConfig(args[0], "", true) if err != nil { fmt.Printf("invalid config directory: %s\n", args[0]) os.Exit(1) } otherPaths := []string{} - peerIds := []string{GetPeerIDFromConfig(primaryConfig).String()} + peerIds := []string{clientNode.GetPeerIDFromConfig(primaryConfig).String()} for _, p := range args[1:] { if !path.IsAbs(p) { fmt.Printf("%s is not an absolute path\n", p) } - cfg, err := config.LoadConfig(p, "", true) + cfg, err := nodeConfig.LoadConfig(p, "", true) if err != nil { fmt.Printf("invalid config directory: %s\n", p) os.Exit(1) } - peerId := GetPeerIDFromConfig(cfg).String() + peerId := clientNode.GetPeerIDFromConfig(cfg).String() peerIds = append(peerIds, peerId) otherPaths = append(otherPaths, p) } if DryRun { - bridged := []*BridgedPeerJson{} - firstRetro := []*FirstRetroJson{} - secondRetro := []*SecondRetroJson{} - thirdRetro := []*ThirdRetroJson{} - fourthRetro := []*FourthRetroJson{} + bridged := []*clientNode.BridgedPeerJson{} + firstRetro := []*clientNode.FirstRetroJson{} + secondRetro := []*clientNode.SecondRetroJson{} + thirdRetro := []*clientNode.ThirdRetroJson{} + fourthRetro := []*clientNode.FourthRetroJson{} err = json.Unmarshal(bridgedPeersJsonBinary, &bridged) if err != nil { @@ -208,7 +209,7 @@ var proverConfigMergeCmd = &cobra.Command{ p, ) } - err := config.SaveConfig(args[0], primaryConfig) + err := nodeConfig.SaveConfig(args[0], primaryConfig) if err != nil { panic(err) } @@ -233,5 +234,5 @@ var fourthRetroJsonBinary []byte func init() { proverConfigMergeCmd.Flags().BoolVar(&DryRun, "dry-run", false, "Evaluate seniority score without merging configs") - proverCmd.AddCommand(proverConfigMergeCmd) + ProverCmd.AddCommand(proverConfigMergeCmd) } diff --git a/client/cmd/node/proverPause.go b/client/cmd/node/prover/proverPause.go similarity index 86% rename from client/cmd/node/proverPause.go rename to client/cmd/node/prover/proverPause.go index e19eef7..e99a5d5 100644 --- a/client/cmd/node/proverPause.go +++ b/client/cmd/node/prover/proverPause.go @@ -1,8 +1,9 @@ -package node +package prover import ( "bytes" "fmt" + "os" "strings" "time" @@ -13,12 +14,16 @@ import ( "go.uber.org/zap" "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" + clientNode "source.quilibrium.com/quilibrium/monorepo/client/cmd/node" "source.quilibrium.com/quilibrium/monorepo/go-libp2p-blossomsub/pb" + nodeConfig "source.quilibrium.com/quilibrium/monorepo/node/config" "source.quilibrium.com/quilibrium/monorepo/node/execution/intrinsics/token/application" "source.quilibrium.com/quilibrium/monorepo/node/p2p" "source.quilibrium.com/quilibrium/monorepo/node/protobufs" ) +var NodeConfig *nodeConfig.Config + var proverPauseCmd = &cobra.Command{ Use: "pause", Short: "Pauses a prover", @@ -28,13 +33,23 @@ var proverPauseCmd = &cobra.Command{ `, Run: func(cmd *cobra.Command, args []string) { logger, err := zap.NewProduction() + if err != nil { + panic(err) + } + + NodeConfig, err = clientNode.LoadConfig(ConfigDirectory) + if err != nil { + fmt.Printf("invalid config directory: %s\n", ConfigDirectory) + os.Exit(1) + } + pubsub := p2p.NewBlossomSub(NodeConfig.P2P, logger) intrinsicFilter := p2p.GetBloomFilter(application.TOKEN_ADDRESS, 256, 3) pubsub.Subscribe( append([]byte{0x00}, intrinsicFilter...), func(message *pb.Message) error { return nil }, ) - key, err := GetPrivKeyFromConfig(NodeConfig) + key, err := clientNode.GetPrivKeyFromConfig(NodeConfig) if err != nil { panic(err) } @@ -145,5 +160,5 @@ func publishMessage( } func init() { - proverCmd.AddCommand(proverPauseCmd) + ProverCmd.AddCommand(proverPauseCmd) }