feat(baseapp): Add Hybrid Protobuf handlers to MsgServiceRouter (#18071)
Co-authored-by: unknown unknown <unknown@unknown>
This commit is contained in:
co-authored by
unknown unknown
parent
b8b32cf494
commit
5edabb5cb0
+49
-1
@@ -10,6 +10,10 @@ import (
|
||||
abci "github.com/cometbft/cometbft/abci/types"
|
||||
db "github.com/cosmos/cosmos-db"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/reflect/protodesc"
|
||||
"google.golang.org/protobuf/reflect/protoregistry"
|
||||
"google.golang.org/protobuf/types/descriptorpb"
|
||||
|
||||
"cosmossdk.io/log"
|
||||
storetypes "cosmossdk.io/store/types"
|
||||
@@ -45,7 +49,7 @@ func NewApp(rootDir string, logger log.Logger) (servertypes.ABCI, error) {
|
||||
router.SetInterfaceRegistry(interfaceRegistry)
|
||||
|
||||
newDesc := &grpc.ServiceDesc{
|
||||
ServiceName: "test",
|
||||
ServiceName: "Test",
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "Test",
|
||||
@@ -170,3 +174,47 @@ func MsgTestHandler(srv interface{}, ctx context.Context, dec func(interface{})
|
||||
func (m MsgServerImpl) Test(ctx context.Context, msg *KVStoreTx) (*sdk.Result, error) {
|
||||
return KVStoreHandler(m.capKeyMainStore)(sdk.UnwrapSDKContext(ctx), msg)
|
||||
}
|
||||
|
||||
func init() {
|
||||
err := registerFauxDescriptor()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func registerFauxDescriptor() error {
|
||||
fauxDescriptor, err := protodesc.NewFile(&descriptorpb.FileDescriptorProto{
|
||||
Name: proto.String("faux_proto/test.proto"),
|
||||
Dependency: nil,
|
||||
PublicDependency: nil,
|
||||
WeakDependency: nil,
|
||||
MessageType: []*descriptorpb.DescriptorProto{
|
||||
{
|
||||
Name: proto.String("KVStoreTx"),
|
||||
},
|
||||
},
|
||||
EnumType: nil,
|
||||
Service: []*descriptorpb.ServiceDescriptorProto{
|
||||
{
|
||||
Name: proto.String("Test"),
|
||||
Method: []*descriptorpb.MethodDescriptorProto{
|
||||
{
|
||||
Name: proto.String("Test"),
|
||||
InputType: proto.String("KVStoreTx"),
|
||||
OutputType: proto.String("KVStoreTx"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
Extension: nil,
|
||||
Options: nil,
|
||||
SourceCodeInfo: nil,
|
||||
Syntax: nil,
|
||||
Edition: nil,
|
||||
}, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return protoregistry.GlobalFiles.RegisterFile(fauxDescriptor)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user