fix(server/v2/comebft): wire missing services + fix simulation (#21964)

This commit is contained in:
Julien Robert
2024-11-19 13:49:33 +00:00
committed by GitHub
parent f96b3b00e3
commit d697a3de0f
25 changed files with 2222 additions and 203 deletions
+31 -13
View File
@@ -12,7 +12,7 @@ import (
"cosmossdk.io/log"
runtimev2 "cosmossdk.io/runtime/v2"
serverv2 "cosmossdk.io/server/v2"
"cosmossdk.io/server/v2/api/grpc"
grpcserver "cosmossdk.io/server/v2/api/grpc"
"cosmossdk.io/server/v2/api/rest"
"cosmossdk.io/server/v2/api/telemetry"
"cosmossdk.io/server/v2/cometbft"
@@ -40,7 +40,10 @@ type CommandDependencies[T transaction.Tx] struct {
TxConfig client.TxConfig
ModuleManager *runtimev2.MM[T]
SimApp *simapp.SimApp[T]
Consensus serverv2.ServerComponent[T]
// could be more generic with serverv2.ServerComponent[T]
// however, we want to register extra grpc handlers
ConsensusServer *cometbft.CometBFTServer[T]
ClientContext client.Context
}
func InitRootCmd[T transaction.Tx](
@@ -66,8 +69,8 @@ func InitRootCmd[T transaction.Tx](
// build CLI skeleton for initial config parsing or a client application invocation
if deps.SimApp == nil {
if deps.Consensus == nil {
deps.Consensus = cometbft.NewWithConfigOptions[T](initCometConfig())
if deps.ConsensusServer == nil {
deps.ConsensusServer = cometbft.NewWithConfigOptions[T](initCometConfig())
}
return serverv2.AddCommands[T](
rootCmd,
@@ -75,8 +78,8 @@ func InitRootCmd[T transaction.Tx](
io.NopCloser(nil),
deps.GlobalConfig,
initServerConfig(),
deps.Consensus,
&grpc.Server[T]{},
deps.ConsensusServer,
&grpcserver.Server[T]{},
&serverstore.Server[T]{},
&telemetry.Server[T]{},
&rest.Server[T]{},
@@ -85,10 +88,7 @@ func InitRootCmd[T transaction.Tx](
// build full app!
simApp := deps.SimApp
grpcServer, err := grpc.New[T](logger, simApp.InterfaceRegistry(), simApp.QueryHandlers(), simApp.Query, deps.GlobalConfig)
if err != nil {
return nil, err
}
// store component (not a server)
storeComponent, err := serverstore.New[T](simApp.Store(), deps.GlobalConfig)
if err != nil {
@@ -100,8 +100,8 @@ func InitRootCmd[T transaction.Tx](
}
// consensus component
if deps.Consensus == nil {
deps.Consensus, err = cometbft.New(
if deps.ConsensusServer == nil {
deps.ConsensusServer, err = cometbft.New(
logger,
simApp.Name(),
simApp.Store(),
@@ -116,11 +116,29 @@ func InitRootCmd[T transaction.Tx](
return nil, err
}
}
telemetryServer, err := telemetry.New[T](deps.GlobalConfig, logger)
if err != nil {
return nil, err
}
grpcServer, err := grpcserver.New[T](
logger,
simApp.InterfaceRegistry(),
simApp.QueryHandlers(),
simApp.Query,
deps.GlobalConfig,
grpcserver.WithExtraGRPCHandlers[T](
deps.ConsensusServer.Consensus.GRPCServiceRegistrar(
deps.ClientContext,
deps.GlobalConfig,
),
),
)
if err != nil {
return nil, err
}
// wire server commands
return serverv2.AddCommands[T](
rootCmd,
@@ -128,7 +146,7 @@ func InitRootCmd[T transaction.Tx](
simApp,
deps.GlobalConfig,
initServerConfig(),
deps.Consensus,
deps.ConsensusServer,
grpcServer,
storeComponent,
telemetryServer,
+1
View File
@@ -94,6 +94,7 @@ func NewRootCmd[T transaction.Tx](
TxConfig: clientCtx.TxConfig,
ModuleManager: moduleManager,
SimApp: simApp,
ClientContext: clientCtx,
}
rootCommand = &cobra.Command{
Use: "simdv2",