diff --git a/server/v2/cometbft/grpc.go b/server/v2/cometbft/grpc.go index 0fd40aae217a..0a623495f3ad 100644 --- a/server/v2/cometbft/grpc.go +++ b/server/v2/cometbft/grpc.go @@ -463,8 +463,9 @@ func parseOrderBy(orderBy txtypes.OrderBy) string { func (c *consensus[T]) maybeHandleExternalServices(ctx context.Context, req *abci.QueryRequest) (transaction.Msg, error) { // Handle comet service - if strings.Contains(req.Path, "/cosmos.base.tendermint.v1beta1.Service") { + if strings.HasPrefix(req.Path, "/cosmos.base.tendermint.v1beta1.Service") { rpcClient, _ := rpchttp.New(c.cfg.AppTomlConfig.Address) + cometQServer := cmtservice.NewQueryServer(rpcClient, c.Query, c.consensusAddressCodec) paths := strings.Split(req.Path, "/") if len(paths) <= 2 { @@ -494,7 +495,7 @@ func (c *consensus[T]) maybeHandleExternalServices(ctx context.Context, req *abc } // Handle node service - if strings.Contains(req.Path, "/cosmos.base.node.v1beta1.Service") { + if strings.HasPrefix(req.Path, "/cosmos.base.node.v1beta1.Service") { nodeQService := nodeServer[T]{c.cfgMap, c.cfg.AppTomlConfig, c} paths := strings.Split(req.Path, "/") if len(paths) <= 2 { @@ -514,7 +515,7 @@ func (c *consensus[T]) maybeHandleExternalServices(ctx context.Context, req *abc } // Handle tx service - if strings.Contains(req.Path, "/cosmos.tx.v1beta1.Service") { + if strings.HasPrefix(req.Path, "/cosmos.tx.v1beta1.Service") { // init simple client context amino := codec.NewLegacyAmino() std.RegisterLegacyAminoCodec(amino) diff --git a/server/v2/cometbft/server.go b/server/v2/cometbft/server.go index b424b163e4f5..8789b7830f94 100644 --- a/server/v2/cometbft/server.go +++ b/server/v2/cometbft/server.go @@ -192,6 +192,7 @@ func New[T transaction.Tx]( addrPeerFilter: srv.serverOptions.AddrPeerFilter, idPeerFilter: srv.serverOptions.IdPeerFilter, cfgMap: cfg, + consensusAddressCodec: consensusAddressCodec, } c.optimisticExec = oe.NewOptimisticExecution(