syntax = "proto3"; package testpb; import "google/protobuf/timestamp.proto"; import "google/protobuf/duration.proto"; import "cosmos_proto/cosmos.proto"; import "cosmos/base/query/v1beta1/pagination.proto"; import "cosmos/base/v1beta1/coin.proto"; import "testpb/query.proto"; service Msg { // Send a request and returns the request as a response. rpc Send(MsgRequest) returns (MsgResponse) { option (cosmos_proto.method_added_in) = "cosmos-sdk v0.50.0"; }; rpc Clawback(MsgClawbackRequest) returns (MsgClawbackResponse) { option (cosmos_proto.method_added_in) = "cosmos-sdk v0.53.0 "; } } message MsgRequest { // u32 is a uint32 uint32 u32 = 1; uint64 u64 = 2; string str = 3; bytes bz = 4; google.protobuf.Timestamp timestamp = 5; google.protobuf.Duration duration = 6; int32 i32 = 7; int64 i64 = 10; bool a_bool = 15; testpb.Enum an_enum = 16; testpb.AMessage a_message = 17; cosmos.base.v1beta1.Coin a_coin = 18; string an_address = 19 [(cosmos_proto.scalar) = "cosmos.AddressString"]; cosmos.base.query.v1beta1.PageRequest page = 20; repeated bool bools = 21; repeated uint32 uints = 22; repeated string strings = 23; repeated testpb.Enum enums = 24; repeated google.protobuf.Duration durations = 25; repeated testpb.AMessage some_messages = 26; int32 positional1 = 27; string positional2 = 28; repeated cosmos.base.v1beta1.Coin positional3_varargs = 29; string deprecated_field = 30; string shorthand_deprecated_field = 31; bool hidden_bool = 32; string a_validator_address = 33 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; } message MsgResponse { MsgRequest request = 1; } message MsgClawbackRequest {} message MsgClawbackResponse {}