feat: Validate Msg proto annotations (#13793)

Co-authored-by: Marko <marbar3778@yahoo.com>
This commit is contained in:
Amaury
2023-03-20 16:27:36 +01:00
committed by GitHub
co-authored by Marko
parent 176c61cf70
commit 897ef64712
27 changed files with 611 additions and 295 deletions
+71 -16
View File
@@ -6,6 +6,7 @@ package testdata
import (
context "context"
fmt "fmt"
_ "github.com/cosmos/cosmos-sdk/types/msgservice"
_ "github.com/cosmos/gogoproto/gogoproto"
grpc1 "github.com/cosmos/gogoproto/grpc"
proto "github.com/cosmos/gogoproto/proto"
@@ -29,7 +30,8 @@ var _ = math.Inf
const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
type MsgCreateDog struct {
Dog *Dog `protobuf:"bytes,1,opt,name=dog,proto3" json:"dog,omitempty"`
Dog *Dog `protobuf:"bytes,1,opt,name=dog,proto3" json:"dog,omitempty"`
Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"`
}
func (m *MsgCreateDog) Reset() { *m = MsgCreateDog{} }
@@ -72,6 +74,13 @@ func (m *MsgCreateDog) GetDog() *Dog {
return nil
}
func (m *MsgCreateDog) GetOwner() string {
if m != nil {
return m.Owner
}
return ""
}
type MsgCreateDogResponse struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
@@ -164,24 +173,27 @@ func init() {
func init() { proto.RegisterFile("testpb/tx.proto", fileDescriptor_1c54006dba274b2e) }
var fileDescriptor_1c54006dba274b2e = []byte{
// 265 bytes of a gzipped FileDescriptorProto
// 313 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2f, 0x49, 0x2d, 0x2e,
0x29, 0x48, 0xd2, 0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0x08, 0x48,
0x89, 0xa4, 0xe7, 0xa7, 0xe7, 0x83, 0x85, 0xf4, 0x41, 0x2c, 0x88, 0xac, 0x94, 0x28, 0x4c, 0x79,
0x6a, 0x71, 0x49, 0x4a, 0x62, 0x49, 0x22, 0x44, 0x58, 0x49, 0x97, 0x8b, 0xc7, 0xb7, 0x38, 0xdd,
0xb9, 0x28, 0x35, 0xb1, 0x24, 0xd5, 0x25, 0x3f, 0x5d, 0x48, 0x96, 0x8b, 0x39, 0x25, 0x3f, 0x5d,
0x82, 0x51, 0x81, 0x51, 0x83, 0xdb, 0x88, 0x5b, 0x0f, 0xa2, 0x49, 0xcf, 0x25, 0x3f, 0x3d, 0x08,
0x24, 0xae, 0xa4, 0xc5, 0x25, 0x82, 0xac, 0x3c, 0x28, 0xb5, 0xb8, 0x20, 0x3f, 0xaf, 0x38, 0x55,
0x48, 0x88, 0x8b, 0x25, 0x2f, 0x31, 0x37, 0x15, 0xac, 0x8f, 0x33, 0x08, 0xcc, 0x56, 0xd2, 0xe4,
0x62, 0x0f, 0x49, 0x2d, 0x2e, 0xf1, 0x2d, 0x4e, 0x17, 0x92, 0xe0, 0x62, 0x2f, 0xce, 0x4c, 0xcf,
0x4b, 0x2d, 0x2a, 0x96, 0x60, 0x54, 0x60, 0xd6, 0xe0, 0x0c, 0x82, 0x71, 0xad, 0x58, 0x3a, 0x16,
0xc8, 0x33, 0x18, 0xb9, 0x71, 0x31, 0x83, 0x94, 0xd9, 0x73, 0x71, 0x22, 0x5c, 0x22, 0x02, 0xb3,
0x1c, 0xd9, 0x42, 0x29, 0x19, 0x6c, 0xa2, 0x30, 0x67, 0x38, 0x79, 0x9c, 0x78, 0x24, 0xc7, 0x78,
0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7,
0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x5e, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e,
0xae, 0x7e, 0x72, 0x7e, 0x71, 0x6e, 0x7e, 0x31, 0x94, 0xd2, 0x2d, 0x4e, 0xc9, 0x06, 0x07, 0x4a,
0x69, 0x49, 0x66, 0x0e, 0x3c, 0x74, 0x92, 0xd8, 0xc0, 0xc1, 0x63, 0x0c, 0x08, 0x00, 0x00, 0xff,
0xff, 0xd5, 0x7f, 0x29, 0x59, 0x66, 0x01, 0x00, 0x00,
0x6a, 0x71, 0x49, 0x4a, 0x62, 0x49, 0x22, 0x54, 0x58, 0x3c, 0x39, 0xbf, 0x38, 0x37, 0xbf, 0x58,
0x3f, 0xb7, 0x38, 0x5d, 0xbf, 0xcc, 0x10, 0x44, 0x41, 0x24, 0x94, 0xfc, 0xb9, 0x78, 0x7c, 0x8b,
0xd3, 0x9d, 0x8b, 0x52, 0x13, 0x4b, 0x52, 0x5d, 0xf2, 0xd3, 0x85, 0x64, 0xb9, 0x98, 0x53, 0xf2,
0xd3, 0x25, 0x18, 0x15, 0x18, 0x35, 0xb8, 0x8d, 0xb8, 0xf5, 0x20, 0xa6, 0xe9, 0xb9, 0xe4, 0xa7,
0x07, 0x81, 0xc4, 0x85, 0x44, 0xb8, 0x58, 0xf3, 0xcb, 0xf3, 0x52, 0x8b, 0x24, 0x98, 0x14, 0x18,
0x35, 0x38, 0x83, 0x20, 0x1c, 0x2b, 0xae, 0xa6, 0xe7, 0x1b, 0xb4, 0x20, 0x6c, 0x25, 0x2d, 0x2e,
0x11, 0x64, 0x03, 0x83, 0x52, 0x8b, 0x0b, 0xf2, 0xf3, 0x8a, 0x53, 0x85, 0x84, 0xb8, 0x58, 0xf2,
0x12, 0x73, 0x53, 0xc1, 0x26, 0x73, 0x06, 0x81, 0xd9, 0x4a, 0x9a, 0x5c, 0xec, 0x21, 0xa9, 0xc5,
0x25, 0xbe, 0xc5, 0xe9, 0x42, 0x12, 0x5c, 0xec, 0xc5, 0x99, 0xe9, 0x79, 0xa9, 0x45, 0xc5, 0x12,
0x8c, 0x0a, 0xcc, 0x1a, 0x9c, 0x41, 0x30, 0xae, 0x15, 0x4b, 0xc7, 0x02, 0x79, 0x06, 0x23, 0x5f,
0x2e, 0x66, 0x90, 0x32, 0x7b, 0x2e, 0x4e, 0x84, 0x5b, 0x45, 0x60, 0xce, 0x43, 0xb6, 0x50, 0x4a,
0x06, 0x9b, 0x28, 0xcc, 0x19, 0x52, 0xac, 0x0d, 0xcf, 0x37, 0x68, 0x31, 0x3a, 0x79, 0x9c, 0x78,
0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c,
0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x5e, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92,
0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x34, 0xd0, 0x20, 0x94, 0x6e, 0x71, 0x4a, 0x36, 0x38, 0x58, 0x4b,
0x4b, 0x32, 0x73, 0xe0, 0xe1, 0x9b, 0xc4, 0x06, 0x0e, 0x47, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff,
0xff, 0x0a, 0x96, 0x8c, 0x83, 0xa8, 0x01, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -284,6 +296,13 @@ func (m *MsgCreateDog) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
if len(m.Owner) > 0 {
i -= len(m.Owner)
copy(dAtA[i:], m.Owner)
i = encodeVarintTx(dAtA, i, uint64(len(m.Owner)))
i--
dAtA[i] = 0x12
}
if m.Dog != nil {
{
size, err := m.Dog.MarshalToSizedBuffer(dAtA[:i])
@@ -382,6 +401,10 @@ func (m *MsgCreateDog) Size() (n int) {
l = m.Dog.Size()
n += 1 + l + sovTx(uint64(l))
}
l = len(m.Owner)
if l > 0 {
n += 1 + l + sovTx(uint64(l))
}
return n
}
@@ -484,6 +507,38 @@ func (m *MsgCreateDog) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowTx
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := dAtA[iNdEx]
iNdEx++
stringLen |= uint64(b&0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthTx
}
postIndex := iNdEx + intStringLen
if postIndex < 0 {
return ErrInvalidLengthTx
}
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Owner = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipTx(dAtA[iNdEx:])