diff --git a/runtime/v2/go.mod b/runtime/v2/go.mod index c30998b60e..23140c0e1d 100644 --- a/runtime/v2/go.mod +++ b/runtime/v2/go.mod @@ -41,7 +41,7 @@ require ( buf.build/gen/go/cometbft/cometbft/protocolbuffers/go v1.34.2-20240701160653-fedbb9acfd2f.2 // indirect buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2 // indirect cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 // indirect - cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect + cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/runtime/v2/go.sum b/runtime/v2/go.sum index c869fbe456..b6c5110af8 100644 --- a/runtime/v2/go.sum +++ b/runtime/v2/go.sum @@ -4,8 +4,8 @@ buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88e buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2/go.mod h1:HqcXMSa5qnNuakaMUo+hWhF51mKbcrZxGl9Vp5EeJXc= cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= diff --git a/server/v2/api/grpc/flags.go b/server/v2/api/grpc/flags.go new file mode 100644 index 0000000000..be2f49cccd --- /dev/null +++ b/server/v2/api/grpc/flags.go @@ -0,0 +1,12 @@ +package grpc + +import "fmt" + +// start flags are prefixed with the server name +// as the config in prefixed with the server name +// this allows viper to properly bind the flags +func prefix(f string) string { + return fmt.Sprintf("%s.%s", ServerName, f) +} + +var FlagAddress = prefix("address") diff --git a/server/v2/api/grpc/server.go b/server/v2/api/grpc/server.go index e59bd99a83..5bce26508b 100644 --- a/server/v2/api/grpc/server.go +++ b/server/v2/api/grpc/server.go @@ -24,8 +24,9 @@ import ( ) const ( + ServerName = "grpc" + BlockHeightHeader = "x-cosmos-block-height" - FlagAddress = "address" ) type Server[T transaction.Tx] struct { @@ -74,16 +75,8 @@ func (s *Server[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger log.Logge } func (s *Server[T]) StartCmdFlags() *pflag.FlagSet { - flags := pflag.NewFlagSet("grpc", pflag.ExitOnError) - - // start flags are prefixed with the server name - // as the config in prefixed with the server name - // this allows viper to properly bind the flags - prefix := func(f string) string { - return fmt.Sprintf("%s.%s", s.Name(), f) - } - - flags.String(prefix(FlagAddress), "localhost:9090", "Listen address") + flags := pflag.NewFlagSet(s.Name(), pflag.ExitOnError) + flags.String(FlagAddress, "localhost:9090", "Listen address") return flags } @@ -151,7 +144,7 @@ func getHeightFromCtx(ctx context.Context) (uint64, error) { } func (s *Server[T]) Name() string { - return "grpc" + return ServerName } func (s *Server[T]) Config() any { diff --git a/server/v2/api/grpcgateway/server.go b/server/v2/api/grpcgateway/server.go index a8a67590df..028027a83a 100644 --- a/server/v2/api/grpcgateway/server.go +++ b/server/v2/api/grpcgateway/server.go @@ -21,6 +21,8 @@ import ( var _ serverv2.ServerComponent[transaction.Tx] = (*GRPCGatewayServer[transaction.Tx])(nil) const ( + ServerName = "grpc-gateway" + // GRPCBlockHeightHeader is the gRPC header for block height. GRPCBlockHeightHeader = "x-cosmos-block-height" ) @@ -64,7 +66,7 @@ func New[T transaction.Tx](grpcSrv *grpc.Server, ir jsonpb.AnyResolver, cfgOptio } func (g *GRPCGatewayServer[T]) Name() string { - return "grpc-gateway" + return ServerName } func (s *GRPCGatewayServer[T]) Config() any { diff --git a/server/v2/cometbft/flags.go b/server/v2/cometbft/flags.go index 00d57b81fb..55fa0a14e7 100644 --- a/server/v2/cometbft/flags.go +++ b/server/v2/cometbft/flags.go @@ -1,6 +1,10 @@ package cometbft -import "github.com/spf13/cobra" +import ( + "fmt" + + "github.com/spf13/cobra" +) // Query flags const ( @@ -38,12 +42,19 @@ func AddQueryFlagsToCmd(cmd *cobra.Command) { _ = cmd.MarkFlagRequired(FlagChainID) } +// start flags are prefixed with the server name +// as the config in prefixed with the server name +// this allows viper to properly bind the flags +func prefix(f string) string { + return fmt.Sprintf("%s.%s", ServerName, f) +} + // Server flags -const ( - Standalone = "standalone" - FlagAddress = "address" - FlagTransport = "transport" - FlagHaltHeight = "halt-height" - FlagHaltTime = "halt-time" - FlagTrace = "trace" +var ( + Standalone = prefix("standalone") + FlagAddress = prefix("address") + FlagTransport = prefix("transport") + FlagHaltHeight = prefix("halt-height") + FlagHaltTime = prefix("halt-time") + FlagTrace = prefix("trace") ) diff --git a/server/v2/cometbft/go.mod b/server/v2/cometbft/go.mod index 42596db503..ef9c06a6c6 100644 --- a/server/v2/cometbft/go.mod +++ b/server/v2/cometbft/go.mod @@ -49,7 +49,7 @@ require ( buf.build/gen/go/cosmos/gogo-proto/protocolbuffers/go v1.34.2-20240130113600-88ef6483f90f.2 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/depinject v1.0.0 // indirect - cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect + cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect cosmossdk.io/math v1.3.0 // indirect cosmossdk.io/store v1.1.1-0.20240418092142-896cdf1971bc // indirect cosmossdk.io/x/auth v0.0.0-00010101000000-000000000000 // indirect diff --git a/server/v2/cometbft/go.sum b/server/v2/cometbft/go.sum index f25a45cdf7..9975651573 100644 --- a/server/v2/cometbft/go.sum +++ b/server/v2/cometbft/go.sum @@ -10,8 +10,8 @@ cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= diff --git a/server/v2/cometbft/server.go b/server/v2/cometbft/server.go index cbb95ad6fb..c85a241566 100644 --- a/server/v2/cometbft/server.go +++ b/server/v2/cometbft/server.go @@ -28,6 +28,8 @@ import ( genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" ) +const ServerName = "comet" + var ( _ serverv2.ServerComponent[transaction.Tx] = (*CometBFTServer[transaction.Tx])(nil) _ serverv2.HasCLICommands = (*CometBFTServer[transaction.Tx])(nil) @@ -107,7 +109,7 @@ func (s *CometBFTServer[T]) Init(appI serverv2.AppI[T], v *viper.Viper, logger l } func (s *CometBFTServer[T]) Name() string { - return "comet" + return ServerName } func (s *CometBFTServer[T]) Start(ctx context.Context) error { @@ -193,21 +195,21 @@ func getGenDocProvider(cfg *cmtcfg.Config) func() (node.ChecksummedGenesisDoc, e } func (s *CometBFTServer[T]) StartCmdFlags() *pflag.FlagSet { - flags := pflag.NewFlagSet("cometbft", pflag.ExitOnError) + flags := pflag.NewFlagSet(s.Name(), pflag.ExitOnError) - // start flags are prefixed with the server name - // as the config in prefixed with the server name - // this allows viper to properly bind the flags - prefix := func(f string) string { - return fmt.Sprintf("%s.%s", s.Name(), f) - } + flags.String(FlagAddress, "tcp://127.0.0.1:26658", "Listen address") + flags.String(FlagTransport, "socket", "Transport protocol: socket, grpc") + flags.Uint64(FlagHaltHeight, 0, "Block height at which to gracefully halt the chain and shutdown the node") + flags.Uint64(FlagHaltTime, 0, "Minimum block time (in Unix seconds) at which to gracefully halt the chain and shutdown the node") + flags.Bool(FlagTrace, false, "Provide full stack traces for errors in ABCI Log") + flags.Bool(Standalone, false, "Run app without CometBFT") + + // add comet flags, we use an empty command to avoid duplicating CometBFT's AddNodeFlags. + // we can then merge the flag sets. + emptyCmd := &cobra.Command{} + cmtcmd.AddNodeFlags(emptyCmd) + flags.AddFlagSet(emptyCmd.Flags()) - flags.String(prefix(FlagAddress), "tcp://127.0.0.1:26658", "Listen address") - flags.String(prefix(FlagTransport), "socket", "Transport protocol: socket, grpc") - flags.Uint64(prefix(FlagHaltHeight), 0, "Block height at which to gracefully halt the chain and shutdown the node") - flags.Uint64(prefix(FlagHaltTime), 0, "Minimum block time (in Unix seconds) at which to gracefully halt the chain and shutdown the node") - flags.Bool(prefix(FlagTrace), false, "Provide full stack traces for errors in ABCI Log") - flags.Bool(prefix(Standalone), false, "Run app without CometBFT") return flags } diff --git a/server/v2/go.mod b/server/v2/go.mod index 63e53030e6..97fd086bf8 100644 --- a/server/v2/go.mod +++ b/server/v2/go.mod @@ -45,7 +45,7 @@ require ( ) require ( - cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect + cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect github.com/DataDog/datadog-go v3.2.0+incompatible // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/beorn7/perks v1.0.1 // indirect diff --git a/server/v2/go.sum b/server/v2/go.sum index abcf81d342..466845865b 100644 --- a/server/v2/go.sum +++ b/server/v2/go.sum @@ -1,7 +1,7 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= diff --git a/simapp/v2/go.mod b/simapp/v2/go.mod index 016ab908ae..82f48388a0 100644 --- a/simapp/v2/go.mod +++ b/simapp/v2/go.mod @@ -55,7 +55,7 @@ require ( cloud.google.com/go/storage v1.42.0 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/errors v1.0.1 // indirect - cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 // indirect + cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 // indirect cosmossdk.io/schema v0.1.1 // indirect cosmossdk.io/server/v2/appmanager v0.0.0-00010101000000-000000000000 // indirect cosmossdk.io/server/v2/stf v0.0.0-00010101000000-000000000000 // indirect diff --git a/simapp/v2/go.sum b/simapp/v2/go.sum index 1bdfca32a4..6e9aa3b16e 100644 --- a/simapp/v2/go.sum +++ b/simapp/v2/go.sum @@ -196,8 +196,8 @@ cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= diff --git a/store/v2/go.mod b/store/v2/go.mod index 870d4e6f90..8c8ec38434 100644 --- a/store/v2/go.mod +++ b/store/v2/go.mod @@ -5,7 +5,7 @@ go 1.21 require ( cosmossdk.io/core v0.12.0 cosmossdk.io/core/testing v0.0.0-00010101000000-000000000000 - cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 + cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 cosmossdk.io/log v1.3.1 github.com/cockroachdb/pebble v1.1.0 github.com/cosmos/gogoproto v1.5.0 diff --git a/store/v2/go.sum b/store/v2/go.sum index 3e8084a859..425eb1d56e 100644 --- a/store/v2/go.sum +++ b/store/v2/go.sum @@ -1,5 +1,5 @@ -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85 h1:dd+A26VSNHoKTgk/yNzi7yV7nvVYhLn/Tbnngub6VP4= -cosmossdk.io/errors/v2 v2.0.0-20240606172700-98eef6d22f85/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5 h1:IQNdY2kB+k+1OM2DvqFG1+UgeU1JzZrWtwuWzI3ZfwA= +cosmossdk.io/errors/v2 v2.0.0-20240731132947-df72853b3ca5/go.mod h1:0CuYKkFHxc1vw2JC+t21THBCALJVROrWVR/3PQ1urpc= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=