feat: Validate Msg proto annotations (#13793)
Co-authored-by: Marko <marbar3778@yahoo.com>
This commit is contained in:
parent
176c61cf70
commit
897ef64712
@ -1172,26 +1172,26 @@ var file_cosmos_consensus_v1_tx_proto_rawDesc = []byte{
|
||||
0x6e, 0x73, 0x75, 0x73, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32,
|
||||
0x69, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x70, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x62, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2c, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xc2, 0x01, 0x0a, 0x17, 0x63,
|
||||
0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e,
|
||||
0x73, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
|
||||
0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f,
|
||||
0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x6e, 0x73, 0x75, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75,
|
||||
0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58, 0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x56, 0x31, 0xca,
|
||||
0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73,
|
||||
0x75, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d,
|
||||
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a,
|
||||
0x01, 0x42, 0xc2, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54,
|
||||
0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x43, 0x58,
|
||||
0xaa, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e,
|
||||
0x73, 0x75, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
||||
0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x43,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5c,
|
||||
0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
|
||||
0x15, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73,
|
||||
0x75, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@ -15253,138 +15253,139 @@ var file_cosmos_group_v1_tx_proto_rawDesc = []byte{
|
||||
0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x76, 0x6f, 0x74, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f,
|
||||
0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x56, 0x6f,
|
||||
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x4d,
|
||||
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x07, 0x4d,
|
||||
0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73,
|
||||
0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x72, 0x6f,
|
||||
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75,
|
||||
0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72,
|
||||
0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x3a, 0x28, 0x82,
|
||||
0xe7, 0xb0, 0x2a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x8a, 0xe7, 0xb0, 0x2a, 0x18, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f,
|
||||
0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x22, 0x52, 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x45, 0x78,
|
||||
0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f,
|
||||
0x70, 0x6f, 0x73, 0x61, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73,
|
||||
0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x0d,
|
||||
0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x32, 0x0a,
|
||||
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18,
|
||||
0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65,
|
||||
0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x3a, 0x2f, 0x82, 0xe7,
|
||||
0xb0, 0x2a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x1e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f,
|
||||
0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x17, 0x0a,
|
||||
0x15, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x2a, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x14,
|
||||
0x0a, 0x10, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
|
||||
0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x54, 0x52, 0x59,
|
||||
0x10, 0x01, 0x32, 0xca, 0x0b, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x57, 0x0a, 0x0b, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x27, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
|
||||
0x73, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x66, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2c, 0x2e, 0x63, 0x6f,
|
||||
0x69, 0x6e, 0x67, 0x52, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x3a, 0x2a, 0x82,
|
||||
0xe7, 0xb0, 0x2a, 0x08, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x8a, 0xe7, 0xb0, 0x2a,
|
||||
0x18, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2f, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x22, 0x52, 0x0a, 0x0f, 0x4d, 0x73, 0x67,
|
||||
0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06,
|
||||
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50,
|
||||
0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x6f, 0x72, 0x52,
|
||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8f, 0x01,
|
||||
0x0a, 0x0d, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
|
||||
0x32, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64,
|
||||
0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
|
||||
0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x3a, 0x2f,
|
||||
0x82, 0xe7, 0xb0, 0x2a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a,
|
||||
0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2f, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22,
|
||||
0x17, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x2a, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63,
|
||||
0x12, 0x14, 0x0a, 0x10, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
|
||||
0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x45, 0x43, 0x5f, 0x54,
|
||||
0x52, 0x59, 0x10, 0x01, 0x32, 0xca, 0x0b, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x57, 0x0a, 0x0b,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x6d, 0x69,
|
||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x13, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
||||
0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55,
|
||||
0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x27, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
|
||||
0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x26, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62,
|
||||
0x65, 0x72, 0x73, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x2c, 0x2e,
|
||||
0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x13, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
||||
0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x11, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
|
||||
0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57,
|
||||
0x69, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x6f,
|
||||
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x16,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||
0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x6d,
|
||||
0x69, 0x6e, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x74, 0x61, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x63, 0x69,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||
0x79, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a,
|
||||
0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
|
||||
0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a,
|
||||
0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69,
|
||||
0x63, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||
0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d,
|
||||
0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x60, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73,
|
||||
0x61, 0x6c, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72,
|
||||
0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d,
|
||||
0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72,
|
||||
0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68,
|
||||
0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2c, 0x2e, 0x63,
|
||||
0x6f, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x2f, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x74, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x11,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||
0x79, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
||||
0x12, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x57, 0x69, 0x74, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x31, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x57, 0x69, 0x74, 0x68,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78,
|
||||
0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65,
|
||||
0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
|
||||
0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73,
|
||||
0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04, 0x56, 0x6f,
|
||||
0x74, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x20, 0x2e, 0x63,
|
||||
0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63,
|
||||
0x79, 0x1a, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81,
|
||||
0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f,
|
||||
0x6c, 0x69, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x2e, 0x63,
|
||||
0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d,
|
||||
0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42,
|
||||
0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63,
|
||||
0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42,
|
||||
0xa6, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x50, 0x01, 0x5a, 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f,
|
||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x43,
|
||||
0x47, 0x58, 0xaa, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x47, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c,
|
||||
0x69, 0x63, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x35, 0x2e, 0x63, 0x6f,
|
||||
0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73,
|
||||
0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69,
|
||||
0x63, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x6f, 0x73, 0x61, 0x6c, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x75,
|
||||
0x62, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x10, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77,
|
||||
0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69,
|
||||
0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x1a, 0x2c,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x6f, 0x70,
|
||||
0x6f, 0x73, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x04,
|
||||
0x56, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x1a, 0x20,
|
||||
0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x42, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x18, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78,
|
||||
0x65, 0x63, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x12, 0x1e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x4c, 0x65, 0x61, 0x76, 0x65, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a,
|
||||
0x01, 0x42, 0xa6, 0x01, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73,
|
||||
0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x76, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x28, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e,
|
||||
0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x76, 0x31, 0xa2, 0x02,
|
||||
0x03, 0x43, 0x47, 0x58, 0xaa, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x47, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x5c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65,
|
||||
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a,
|
||||
0x3a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
2
go.mod
2
go.mod
@ -3,7 +3,7 @@ go 1.20
|
||||
module github.com/cosmos/cosmos-sdk
|
||||
|
||||
require (
|
||||
cosmossdk.io/api v0.3.1
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7
|
||||
cosmossdk.io/collections v0.0.0-20230309163709-87da587416ba
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba
|
||||
cosmossdk.io/depinject v1.0.0-alpha.3
|
||||
|
||||
4
go.sum
4
go.sum
@ -35,8 +35,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
|
||||
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
|
||||
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
|
||||
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
|
||||
cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE=
|
||||
cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7 h1:4LrWK+uGP5IxznxtHHsHD+ZBs2+oZRH2loYOGjHLzZM=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7/go.mod h1:yVns7mKgcsG+hZW/3C5FdJtC6QYWdFIcRlKb9+5HV5g=
|
||||
cosmossdk.io/collections v0.0.0-20230309163709-87da587416ba h1:S4PYij/tX3Op/hwenVEN9D+M27JRcwSwVqE3UA0BnwM=
|
||||
cosmossdk.io/collections v0.0.0-20230309163709-87da587416ba/go.mod h1:lpS+G8bGC2anqzWdndTzjnQnuMO/qAcgZUkGJp4i3rc=
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba h1:kSnaDzbwMInpQYwz8ESgvi6ceUQWcXAJdEVZW454dX0=
|
||||
|
||||
@ -11,6 +11,8 @@ option go_package = "github.com/cosmos/cosmos-sdk/x/consensus/types";
|
||||
|
||||
// Msg defines the bank Msg service.
|
||||
service Msg {
|
||||
option (cosmos.msg.v1.service) = true;
|
||||
|
||||
// UpdateParams defines a governance operation for updating the x/consensus_param module parameters.
|
||||
// The authority is defined in the keeper.
|
||||
//
|
||||
|
||||
@ -362,7 +362,7 @@ message MsgVoteResponse {}
|
||||
|
||||
// MsgExec is the Msg/Exec request type.
|
||||
message MsgExec {
|
||||
option (cosmos.msg.v1.signer) = "signer";
|
||||
option (cosmos.msg.v1.signer) = "executor";
|
||||
option (amino.name) = "cosmos-sdk/group/MsgExec";
|
||||
|
||||
// proposal is the unique ID of the proposal.
|
||||
|
||||
@ -2,8 +2,11 @@ package runtime
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"cosmossdk.io/core/store"
|
||||
"google.golang.org/protobuf/reflect/protodesc"
|
||||
"google.golang.org/protobuf/reflect/protoregistry"
|
||||
|
||||
abci "github.com/cometbft/cometbft/abci/types"
|
||||
|
||||
@ -19,6 +22,8 @@ import (
|
||||
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
|
||||
"github.com/cosmos/cosmos-sdk/std"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
"github.com/cosmos/cosmos-sdk/types/msgservice"
|
||||
"github.com/cosmos/gogoproto/proto"
|
||||
)
|
||||
|
||||
type appModule struct {
|
||||
@ -71,6 +76,8 @@ func ProvideApp() (
|
||||
codec.ProtoCodecMarshaler,
|
||||
*baseapp.MsgServiceRouter,
|
||||
appmodule.AppModule,
|
||||
protodesc.Resolver,
|
||||
protoregistry.MessageTypeResolver,
|
||||
) {
|
||||
interfaceRegistry := codectypes.NewInterfaceRegistry()
|
||||
amino := codec.NewLegacyAmino()
|
||||
@ -90,7 +97,21 @@ func ProvideApp() (
|
||||
}
|
||||
appBuilder := &AppBuilder{app}
|
||||
|
||||
return interfaceRegistry, cdc, amino, appBuilder, cdc, msgServiceRouter, appModule{app}
|
||||
protoFiles, err := proto.MergedRegistry()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
protoTypes := protoregistry.GlobalTypes
|
||||
|
||||
// At startup, check that all proto annotations are correct.
|
||||
err = msgservice.ValidateProtoAnnotations(protoFiles)
|
||||
if err != nil {
|
||||
// Once we switch to using protoreflect-based antehandlers, we might
|
||||
// want to panic here instead of logging a warning.
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
}
|
||||
|
||||
return interfaceRegistry, cdc, amino, appBuilder, cdc, msgServiceRouter, appModule{app}, protoFiles, protoTypes
|
||||
}
|
||||
|
||||
type AppInputs struct {
|
||||
|
||||
@ -16,6 +16,7 @@ import (
|
||||
"cosmossdk.io/log"
|
||||
abci "github.com/cometbft/cometbft/abci/types"
|
||||
dbm "github.com/cosmos/cosmos-db"
|
||||
"github.com/cosmos/gogoproto/proto"
|
||||
"github.com/spf13/cast"
|
||||
|
||||
simappparams "cosmossdk.io/simapp/params"
|
||||
@ -50,6 +51,7 @@ import (
|
||||
testdata_pulsar "github.com/cosmos/cosmos-sdk/testutil/testdata/testpb"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
"github.com/cosmos/cosmos-sdk/types/msgservice"
|
||||
"github.com/cosmos/cosmos-sdk/version"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth/ante"
|
||||
@ -507,6 +509,19 @@ func NewSimApp(
|
||||
// upgrade.
|
||||
app.setPostHandler()
|
||||
|
||||
// At startup, after all modules have been registered, check that all prot
|
||||
// annotations are correct.
|
||||
protoFiles, err := proto.MergedRegistry()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
err = msgservice.ValidateProtoAnnotations(protoFiles)
|
||||
if err != nil {
|
||||
// Once we switch to using protoreflect-based antehandlers, we might
|
||||
// want to panic here instead of logging a warning.
|
||||
fmt.Fprintln(os.Stderr, err.Error())
|
||||
}
|
||||
|
||||
if loadLatest {
|
||||
if err := app.LoadLatestVersion(); err != nil {
|
||||
panic(fmt.Errorf("error loading last version: %w", err))
|
||||
|
||||
@ -22,6 +22,7 @@ import (
|
||||
simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/module"
|
||||
"github.com/cosmos/cosmos-sdk/types/msgservice"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth/vesting"
|
||||
authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module"
|
||||
@ -279,3 +280,10 @@ func TestMergedRegistry(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
require.Greater(t, r.NumFiles(), 0)
|
||||
}
|
||||
|
||||
func TestProtoAnnotations(t *testing.T) {
|
||||
r, err := proto.MergedRegistry()
|
||||
require.NoError(t, err)
|
||||
err = msgservice.ValidateProtoAnnotations(r)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@ module cosmossdk.io/simapp
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
cosmossdk.io/api v0.3.1
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7
|
||||
cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba
|
||||
cosmossdk.io/depinject v1.0.0-alpha.3
|
||||
@ -194,6 +194,7 @@ require (
|
||||
// Replace here are pending PRs, or version to be tagged
|
||||
replace (
|
||||
// TODO tag all extracted modules after SDK refactor
|
||||
cosmossdk.io/api => ../api
|
||||
cosmossdk.io/tools/confix => ../tools/confix
|
||||
cosmossdk.io/tools/rosetta => ../tools/rosetta
|
||||
cosmossdk.io/x/evidence => ../x/evidence
|
||||
|
||||
@ -188,8 +188,6 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX
|
||||
cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
|
||||
cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
|
||||
cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
|
||||
cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE=
|
||||
cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw=
|
||||
cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba h1:LuPHCncU2KLMNPItFECs709uo46I9wSu2fAWYVCx+/U=
|
||||
cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba/go.mod h1:SXdwqO7cN5htalh/lhXWP8V4zKtBrhhcSTU+ytuEtmM=
|
||||
cosmossdk.io/collections v0.0.0-20230309163709-87da587416ba h1:S4PYij/tX3Op/hwenVEN9D+M27JRcwSwVqE3UA0BnwM=
|
||||
|
||||
@ -3,7 +3,7 @@ module github.com/cosmos/cosmos-sdk/tests
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
cosmossdk.io/api v0.3.1
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7
|
||||
cosmossdk.io/depinject v1.0.0-alpha.3
|
||||
cosmossdk.io/errors v1.0.0-beta.7
|
||||
cosmossdk.io/log v0.1.0
|
||||
|
||||
@ -188,8 +188,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX
|
||||
cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg=
|
||||
cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0=
|
||||
cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M=
|
||||
cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE=
|
||||
cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7 h1:4LrWK+uGP5IxznxtHHsHD+ZBs2+oZRH2loYOGjHLzZM=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7/go.mod h1:yVns7mKgcsG+hZW/3C5FdJtC6QYWdFIcRlKb9+5HV5g=
|
||||
cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba h1:LuPHCncU2KLMNPItFECs709uo46I9wSu2fAWYVCx+/U=
|
||||
cosmossdk.io/client/v2 v2.0.0-20230309163709-87da587416ba/go.mod h1:SXdwqO7cN5htalh/lhXWP8V4zKtBrhhcSTU+ytuEtmM=
|
||||
cosmossdk.io/collections v0.0.0-20230309163709-87da587416ba h1:S4PYij/tX3Op/hwenVEN9D+M27JRcwSwVqE3UA0BnwM=
|
||||
|
||||
6
testutil/testdata/testpb/tx.proto
vendored
6
testutil/testdata/testpb/tx.proto
vendored
@ -3,17 +3,23 @@ package testpb;
|
||||
|
||||
import "gogoproto/gogo.proto";
|
||||
import "testpb/testdata.proto";
|
||||
import "cosmos/msg/v1/msg.proto";
|
||||
|
||||
option go_package = "github.com/cosmos/cosmos-sdk/testutil/testdata";
|
||||
|
||||
// Msg tests the Protobuf message service as defined in
|
||||
// https://github.com/cosmos/cosmos-sdk/issues/7500.
|
||||
service Msg {
|
||||
option (cosmos.msg.v1.service) = true;
|
||||
|
||||
rpc CreateDog(MsgCreateDog) returns (MsgCreateDogResponse);
|
||||
}
|
||||
|
||||
message MsgCreateDog {
|
||||
option (cosmos.msg.v1.signer) = "owner";
|
||||
|
||||
testpb.Dog dog = 1;
|
||||
string owner = 2;
|
||||
}
|
||||
|
||||
message MsgCreateDogResponse {
|
||||
|
||||
129
testutil/testdata/testpb/tx.pulsar.go
vendored
129
testutil/testdata/testpb/tx.pulsar.go
vendored
@ -2,6 +2,7 @@
|
||||
package testpb
|
||||
|
||||
import (
|
||||
_ "cosmossdk.io/api/cosmos/msg/v1"
|
||||
fmt "fmt"
|
||||
runtime "github.com/cosmos/cosmos-proto/runtime"
|
||||
_ "github.com/cosmos/gogoproto/gogoproto"
|
||||
@ -14,14 +15,16 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
md_MsgCreateDog protoreflect.MessageDescriptor
|
||||
fd_MsgCreateDog_dog protoreflect.FieldDescriptor
|
||||
md_MsgCreateDog protoreflect.MessageDescriptor
|
||||
fd_MsgCreateDog_dog protoreflect.FieldDescriptor
|
||||
fd_MsgCreateDog_owner protoreflect.FieldDescriptor
|
||||
)
|
||||
|
||||
func init() {
|
||||
file_testpb_tx_proto_init()
|
||||
md_MsgCreateDog = File_testpb_tx_proto.Messages().ByName("MsgCreateDog")
|
||||
fd_MsgCreateDog_dog = md_MsgCreateDog.Fields().ByName("dog")
|
||||
fd_MsgCreateDog_owner = md_MsgCreateDog.Fields().ByName("owner")
|
||||
}
|
||||
|
||||
var _ protoreflect.Message = (*fastReflection_MsgCreateDog)(nil)
|
||||
@ -95,6 +98,12 @@ func (x *fastReflection_MsgCreateDog) Range(f func(protoreflect.FieldDescriptor,
|
||||
return
|
||||
}
|
||||
}
|
||||
if x.Owner != "" {
|
||||
value := protoreflect.ValueOfString(x.Owner)
|
||||
if !f(fd_MsgCreateDog_owner, value) {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Has reports whether a field is populated.
|
||||
@ -112,6 +121,8 @@ func (x *fastReflection_MsgCreateDog) Has(fd protoreflect.FieldDescriptor) bool
|
||||
switch fd.FullName() {
|
||||
case "testpb.MsgCreateDog.dog":
|
||||
return x.Dog != nil
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
return x.Owner != ""
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -130,6 +141,8 @@ func (x *fastReflection_MsgCreateDog) Clear(fd protoreflect.FieldDescriptor) {
|
||||
switch fd.FullName() {
|
||||
case "testpb.MsgCreateDog.dog":
|
||||
x.Dog = nil
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
x.Owner = ""
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -149,6 +162,9 @@ func (x *fastReflection_MsgCreateDog) Get(descriptor protoreflect.FieldDescripto
|
||||
case "testpb.MsgCreateDog.dog":
|
||||
value := x.Dog
|
||||
return protoreflect.ValueOfMessage(value.ProtoReflect())
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
value := x.Owner
|
||||
return protoreflect.ValueOfString(value)
|
||||
default:
|
||||
if descriptor.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -171,6 +187,8 @@ func (x *fastReflection_MsgCreateDog) Set(fd protoreflect.FieldDescriptor, value
|
||||
switch fd.FullName() {
|
||||
case "testpb.MsgCreateDog.dog":
|
||||
x.Dog = value.Message().Interface().(*Dog)
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
x.Owner = value.Interface().(string)
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -196,6 +214,8 @@ func (x *fastReflection_MsgCreateDog) Mutable(fd protoreflect.FieldDescriptor) p
|
||||
x.Dog = new(Dog)
|
||||
}
|
||||
return protoreflect.ValueOfMessage(x.Dog.ProtoReflect())
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
panic(fmt.Errorf("field owner of message testpb.MsgCreateDog is not mutable"))
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -212,6 +232,8 @@ func (x *fastReflection_MsgCreateDog) NewField(fd protoreflect.FieldDescriptor)
|
||||
case "testpb.MsgCreateDog.dog":
|
||||
m := new(Dog)
|
||||
return protoreflect.ValueOfMessage(m.ProtoReflect())
|
||||
case "testpb.MsgCreateDog.owner":
|
||||
return protoreflect.ValueOfString("")
|
||||
default:
|
||||
if fd.IsExtension() {
|
||||
panic(fmt.Errorf("proto3 declared messages do not support extensions: testpb.MsgCreateDog"))
|
||||
@ -285,6 +307,10 @@ func (x *fastReflection_MsgCreateDog) ProtoMethods() *protoiface.Methods {
|
||||
l = options.Size(x.Dog)
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
l = len(x.Owner)
|
||||
if l > 0 {
|
||||
n += 1 + l + runtime.Sov(uint64(l))
|
||||
}
|
||||
if x.unknownFields != nil {
|
||||
n += len(x.unknownFields)
|
||||
}
|
||||
@ -314,6 +340,13 @@ func (x *fastReflection_MsgCreateDog) ProtoMethods() *protoiface.Methods {
|
||||
i -= len(x.unknownFields)
|
||||
copy(dAtA[i:], x.unknownFields)
|
||||
}
|
||||
if len(x.Owner) > 0 {
|
||||
i -= len(x.Owner)
|
||||
copy(dAtA[i:], x.Owner)
|
||||
i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner)))
|
||||
i--
|
||||
dAtA[i] = 0x12
|
||||
}
|
||||
if x.Dog != nil {
|
||||
encoded, err := options.Marshal(x.Dog)
|
||||
if err != nil {
|
||||
@ -413,6 +446,38 @@ func (x *fastReflection_MsgCreateDog) ProtoMethods() *protoiface.Methods {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
stringLen |= uint64(b&0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
intStringLen := int(stringLen)
|
||||
if intStringLen < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
postIndex := iNdEx + intStringLen
|
||||
if postIndex < 0 {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength
|
||||
}
|
||||
if postIndex > l {
|
||||
return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF
|
||||
}
|
||||
x.Owner = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := runtime.Skip(dAtA[iNdEx:])
|
||||
@ -1366,7 +1431,8 @@ type MsgCreateDog struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
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 (x *MsgCreateDog) Reset() {
|
||||
@ -1396,6 +1462,13 @@ func (x *MsgCreateDog) GetDog() *Dog {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *MsgCreateDog) GetOwner() string {
|
||||
if x != nil {
|
||||
return x.Owner
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type MsgCreateDogResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@ -1475,29 +1548,33 @@ var file_testpb_tx_proto_rawDesc = []byte{
|
||||
0x6f, 0x12, 0x06, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x15, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x12, 0x1d, 0x0a, 0x03, 0x64, 0x6f, 0x67, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x67,
|
||||
0x52, 0x03, 0x64, 0x6f, 0x67, 0x22, 0x2a, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x44, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x22, 0x29, 0x0a, 0x07, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07,
|
||||
0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73,
|
||||
0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x3a, 0x04, 0x88, 0xa0, 0x1f, 0x00, 0x32, 0x46, 0x0a, 0x03,
|
||||
0x4d, 0x73, 0x67, 0x12, 0x3f, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67,
|
||||
0x12, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e,
|
||||
0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x42, 0x8b, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x73,
|
||||
0x74, 0x70, 0x62, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c,
|
||||
0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f,
|
||||
0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x65, 0x73,
|
||||
0x74, 0x75, 0x74, 0x69, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70,
|
||||
0x75, 0x6c, 0x73, 0x61, 0x72, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0xa2, 0x02, 0x03, 0x54,
|
||||
0x58, 0x58, 0xaa, 0x02, 0x06, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0xca, 0x02, 0x06, 0x54, 0x65,
|
||||
0x73, 0x74, 0x70, 0x62, 0xe2, 0x02, 0x12, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0x5c, 0x47, 0x50,
|
||||
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x06, 0x54, 0x65, 0x73, 0x74,
|
||||
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6d,
|
||||
0x73, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||
0x4f, 0x0a, 0x0c, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x12,
|
||||
0x1d, 0x0a, 0x03, 0x64, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x74,
|
||||
0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x44, 0x6f, 0x67, 0x52, 0x03, 0x64, 0x6f, 0x67, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f,
|
||||
0x77, 0x6e, 0x65, 0x72, 0x3a, 0x0a, 0x82, 0xe7, 0xb0, 0x2a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72,
|
||||
0x22, 0x2a, 0x0a, 0x14, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x07,
|
||||
0x54, 0x65, 0x73, 0x74, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x65,
|
||||
0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72,
|
||||
0x73, 0x3a, 0x04, 0x88, 0xa0, 0x1f, 0x00, 0x32, 0x4d, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x3f,
|
||||
0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x12, 0x14, 0x2e, 0x74, 0x65,
|
||||
0x73, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f,
|
||||
0x67, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a,
|
||||
0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0x8b, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x2e, 0x74,
|
||||
0x65, 0x73, 0x74, 0x70, 0x62, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||
0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73,
|
||||
0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74,
|
||||
0x65, 0x73, 0x74, 0x75, 0x74, 0x69, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61,
|
||||
0x5f, 0x70, 0x75, 0x6c, 0x73, 0x61, 0x72, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x62, 0xa2, 0x02,
|
||||
0x03, 0x54, 0x58, 0x58, 0xaa, 0x02, 0x06, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0xca, 0x02, 0x06,
|
||||
0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0xe2, 0x02, 0x12, 0x54, 0x65, 0x73, 0x74, 0x70, 0x62, 0x5c,
|
||||
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x06, 0x54, 0x65,
|
||||
0x73, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
87
testutil/testdata/tx.pb.go
vendored
87
testutil/testdata/tx.pb.go
vendored
@ -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:])
|
||||
|
||||
60
types/msgservice/validate.go
Normal file
60
types/msgservice/validate.go
Normal file
@ -0,0 +1,60 @@
|
||||
package msgservice
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
"google.golang.org/protobuf/reflect/protoregistry"
|
||||
|
||||
msg "cosmossdk.io/api/cosmos/msg/v1"
|
||||
)
|
||||
|
||||
// ValidateAnnotations validates that the proto annotations are correct.
|
||||
// More specifically, it verifies:
|
||||
// - all services named "Msg" have `(cosmos.msg.v1.service) = true`,
|
||||
//
|
||||
// More validations can be added here in the future.
|
||||
//
|
||||
// If `protoFiles` is nil, then protoregistry.GlobalFile will be used.
|
||||
func ValidateProtoAnnotations(protoFiles *protoregistry.Files) error {
|
||||
if protoFiles == nil {
|
||||
protoFiles = protoregistry.GlobalFiles
|
||||
}
|
||||
|
||||
var serviceErrs []error
|
||||
protoFiles.RangeFiles(func(fd protoreflect.FileDescriptor) bool {
|
||||
for i := 0; i < fd.Services().Len(); i++ {
|
||||
sd := fd.Services().Get(i)
|
||||
if sd.Name() == "Msg" {
|
||||
// We use the heuristic that services name Msg are exactly the
|
||||
// ones that need the proto annotations check.
|
||||
err := validateMsgServiceAnnotations(protoFiles, sd)
|
||||
if err != nil {
|
||||
serviceErrs = append(serviceErrs, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
})
|
||||
|
||||
return errors.Join(serviceErrs...)
|
||||
}
|
||||
|
||||
// validateMsgServiceAnnotations validates that the service has the
|
||||
// `(cosmos.msg.v1.service) = true` proto annotation.
|
||||
func validateMsgServiceAnnotations(protoFiles *protoregistry.Files, sd protoreflect.ServiceDescriptor) error {
|
||||
ext := proto.GetExtension(sd.Options(), msg.E_Service)
|
||||
isService, ok := ext.(bool)
|
||||
if !ok {
|
||||
return fmt.Errorf("expected bool, got %T", ext)
|
||||
}
|
||||
|
||||
if !isService {
|
||||
return fmt.Errorf("service %s does not have cosmos.msg.v1.service proto annotation", sd.FullName())
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
24
types/msgservice/validate_test.go
Normal file
24
types/msgservice/validate_test.go
Normal file
@ -0,0 +1,24 @@
|
||||
package msgservice
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
"google.golang.org/protobuf/reflect/protoregistry"
|
||||
|
||||
_ "cosmossdk.io/api/cosmos/bank/v1beta1"
|
||||
)
|
||||
|
||||
func TestValidateServiceAnnotations(t *testing.T) {
|
||||
// Find an arbitrary query service that hasn't the service=true annotation.
|
||||
sd, err := protoregistry.GlobalFiles.FindDescriptorByName("cosmos.bank.v1beta1.Query")
|
||||
require.NoError(t, err)
|
||||
err = validateMsgServiceAnnotations(nil, sd.(protoreflect.ServiceDescriptor))
|
||||
require.Error(t, err)
|
||||
|
||||
sd, err = protoregistry.GlobalFiles.FindDescriptorByName("cosmos.bank.v1beta1.Msg")
|
||||
require.NoError(t, err)
|
||||
err = validateMsgServiceAnnotations(nil, sd.(protoreflect.ServiceDescriptor))
|
||||
require.NoError(t, err)
|
||||
}
|
||||
@ -152,7 +152,7 @@ func init() {
|
||||
func init() { proto.RegisterFile("cosmos/consensus/v1/tx.proto", fileDescriptor_2135c60575ab504d) }
|
||||
|
||||
var fileDescriptor_2135c60575ab504d = []byte{
|
||||
// 391 bytes of a gzipped FileDescriptorProto
|
||||
// 399 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xce, 0x2f, 0xce,
|
||||
0xcd, 0x2f, 0xd6, 0x4f, 0xce, 0xcf, 0x2b, 0x4e, 0xcd, 0x2b, 0x2e, 0x2d, 0xd6, 0x2f, 0x33, 0xd4,
|
||||
0x2f, 0xa9, 0xd0, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x86, 0xc8, 0xea, 0xc1, 0x65, 0xf5,
|
||||
@ -171,13 +171,13 @@ var fileDescriptor_2135c60575ab504d = []byte{
|
||||
0x96, 0xe4, 0x17, 0x49, 0xb0, 0x80, 0xb5, 0x2b, 0x62, 0x6a, 0x0f, 0x83, 0x29, 0x81, 0xea, 0x47,
|
||||
0xe8, 0xb1, 0xb2, 0x6c, 0x7a, 0xbe, 0x41, 0x0b, 0xe1, 0x87, 0xae, 0xe7, 0x1b, 0xb4, 0xd4, 0x20,
|
||||
0xfe, 0xd4, 0x2d, 0x4e, 0xc9, 0xd6, 0xaf, 0x40, 0x8a, 0x31, 0xb4, 0x60, 0x52, 0x92, 0xe4, 0x12,
|
||||
0x47, 0x13, 0x0a, 0x4a, 0x2d, 0x2e, 0x00, 0x29, 0x37, 0xca, 0xe4, 0x62, 0xf6, 0x2d, 0x4e, 0x17,
|
||||
0x47, 0x13, 0x0a, 0x4a, 0x2d, 0x2e, 0x00, 0x29, 0x37, 0x2a, 0xe0, 0x62, 0xf6, 0x2d, 0x4e, 0x17,
|
||||
0x4a, 0xe2, 0xe2, 0x41, 0x09, 0x58, 0x15, 0x3d, 0x2c, 0x11, 0xad, 0x87, 0x66, 0x88, 0x94, 0x0e,
|
||||
0x31, 0xaa, 0x60, 0x56, 0x39, 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, 0x3c, 0xf9, 0x61,
|
||||
0xf5, 0x19, 0x38, 0x94, 0x92, 0xd8, 0xc0, 0x29, 0xc2, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xbd,
|
||||
0x91, 0xef, 0x75, 0xac, 0x02, 0x00, 0x00,
|
||||
0x31, 0xaa, 0x60, 0x56, 0x49, 0xb1, 0x36, 0x3c, 0xdf, 0xa0, 0xc5, 0xe8, 0xe4, 0x71, 0xe2, 0x91,
|
||||
0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1,
|
||||
0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0x7a, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a,
|
||||
0xc9, 0xf9, 0xb9, 0xfa, 0xf0, 0x54, 0x88, 0xd5, 0x83, 0xe0, 0xc0, 0x4a, 0x62, 0x03, 0x27, 0x0c,
|
||||
0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x79, 0x2c, 0x44, 0x5c, 0xb3, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
||||
176
x/group/tx.pb.go
176
x/group/tx.pb.go
@ -1504,98 +1504,98 @@ func init() {
|
||||
func init() { proto.RegisterFile("cosmos/group/v1/tx.proto", fileDescriptor_6b8d3d629f136420) }
|
||||
|
||||
var fileDescriptor_6b8d3d629f136420 = []byte{
|
||||
// 1443 bytes of a gzipped FileDescriptorProto
|
||||
// 1442 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5,
|
||||
0x17, 0xcf, 0xda, 0xce, 0xaf, 0x97, 0x6f, 0xdd, 0x64, 0x9b, 0xb4, 0x9b, 0x6d, 0x6b, 0xbb, 0xd3,
|
||||
0xb4, 0x49, 0xad, 0xc6, 0x6e, 0x9c, 0x6f, 0x2b, 0x61, 0x10, 0xa8, 0x49, 0x0d, 0x0a, 0xc2, 0x10,
|
||||
0x6d, 0x5b, 0x0a, 0x5c, 0xcc, 0x26, 0xde, 0x6e, 0x57, 0x64, 0xbd, 0xc6, 0xb3, 0x4e, 0x93, 0x1b,
|
||||
0x3f, 0x2e, 0xd0, 0x0b, 0x48, 0xf0, 0x07, 0xc0, 0x8d, 0x63, 0x91, 0x7a, 0xe0, 0xc6, 0x0d, 0x55,
|
||||
0xe5, 0x52, 0x71, 0xe2, 0x84, 0xa0, 0x15, 0xea, 0x8d, 0x7f, 0x01, 0xb4, 0x33, 0xbb, 0xe3, 0x1d,
|
||||
0xef, 0xae, 0x77, 0x6b, 0x59, 0x70, 0x89, 0xb2, 0xf3, 0x3e, 0xef, 0xd7, 0xe7, 0xbd, 0x79, 0x33,
|
||||
0x63, 0x90, 0x76, 0x2d, 0x6c, 0x5a, 0xb8, 0xac, 0x77, 0xac, 0x6e, 0xbb, 0xbc, 0xbf, 0x56, 0xb6,
|
||||
0x0f, 0x4a, 0xed, 0x8e, 0x65, 0x5b, 0xe2, 0x51, 0x2a, 0x29, 0x11, 0x49, 0x69, 0x7f, 0x4d, 0x9e,
|
||||
0xd7, 0x2d, 0xdd, 0x22, 0xb2, 0xb2, 0xf3, 0x1f, 0x85, 0xc9, 0x8b, 0x14, 0xd6, 0xa0, 0x02, 0x57,
|
||||
0xc7, 0x15, 0xe9, 0x96, 0xa5, 0xef, 0x69, 0x65, 0xf2, 0xb5, 0xd3, 0xbd, 0x5d, 0x56, 0x5b, 0x87,
|
||||
0xae, 0xe8, 0x64, 0xc0, 0xed, 0x61, 0x5b, 0xf3, 0xf4, 0x4e, 0xb8, 0x42, 0x13, 0xeb, 0x8e, 0xc8,
|
||||
0xc4, 0xba, 0x2b, 0x98, 0x53, 0x4d, 0xa3, 0x65, 0x95, 0xc9, 0x5f, 0xba, 0x84, 0x7e, 0x16, 0x20,
|
||||
0x5b, 0xc7, 0xfa, 0x66, 0x47, 0x53, 0x6d, 0xed, 0x35, 0xc7, 0x9a, 0x58, 0x82, 0x71, 0xb5, 0x69,
|
||||
0x1a, 0x2d, 0x49, 0x28, 0x08, 0x2b, 0xd3, 0x1b, 0xd2, 0x2f, 0x0f, 0x56, 0xe7, 0xdd, 0xb8, 0xae,
|
||||
0x36, 0x9b, 0x1d, 0x0d, 0xe3, 0xeb, 0x76, 0xc7, 0x68, 0xe9, 0x0a, 0x85, 0x89, 0x9b, 0x30, 0x69,
|
||||
0x6a, 0xe6, 0x8e, 0xd6, 0xc1, 0x52, 0xaa, 0x90, 0x5e, 0x99, 0xa9, 0xe4, 0x4a, 0x7d, 0xa9, 0x97,
|
||||
0xea, 0x44, 0xae, 0x68, 0x1f, 0x76, 0x35, 0x6c, 0x6f, 0x4c, 0x3f, 0xfc, 0x2d, 0x3f, 0xf6, 0xdd,
|
||||
0xb3, 0xfb, 0x45, 0x41, 0xf1, 0x34, 0x45, 0x19, 0xa6, 0x4c, 0xcd, 0x56, 0x9b, 0xaa, 0xad, 0x4a,
|
||||
0x69, 0xc7, 0xaf, 0xc2, 0xbe, 0xab, 0x2b, 0x9f, 0x3c, 0xbb, 0x5f, 0xa4, 0xce, 0xee, 0x3d, 0xbb,
|
||||
0x5f, 0x74, 0x19, 0x5b, 0xc5, 0xcd, 0x0f, 0xca, 0x7c, 0xe8, 0x68, 0x1d, 0x8e, 0xf3, 0x2b, 0x8a,
|
||||
0x86, 0xdb, 0x56, 0x0b, 0x6b, 0xe2, 0x22, 0x4c, 0x91, 0x68, 0x1a, 0x46, 0x93, 0xe4, 0x95, 0x51,
|
||||
0x26, 0xc9, 0xf7, 0x56, 0x13, 0xfd, 0x29, 0xc0, 0x42, 0x1d, 0xeb, 0x37, 0xdb, 0x4d, 0x4f, 0xab,
|
||||
0xee, 0x06, 0xf5, 0xbc, 0x4c, 0xf8, 0x9d, 0xa4, 0x38, 0x27, 0xe2, 0x36, 0x64, 0x69, 0xaa, 0x8d,
|
||||
0x2e, 0xf1, 0x83, 0xa5, 0xf4, 0xf3, 0x72, 0x75, 0x84, 0x1a, 0xa0, 0x71, 0xe2, 0x6a, 0x99, 0x67,
|
||||
0xa5, 0xc0, 0xb3, 0x12, 0xcc, 0x06, 0xe5, 0xe1, 0x74, 0xa8, 0xc0, 0xe3, 0x08, 0xfd, 0x24, 0xc0,
|
||||
0x31, 0x1e, 0x71, 0x95, 0xa4, 0x35, 0x42, 0x1a, 0x2e, 0xc3, 0x74, 0x4b, 0xbb, 0xdb, 0xa0, 0xe6,
|
||||
0xd2, 0x31, 0xe6, 0xa6, 0x5a, 0xda, 0x5d, 0x12, 0x41, 0x75, 0x95, 0xcf, 0x35, 0x17, 0x99, 0x2b,
|
||||
0x81, 0xa3, 0xd3, 0x70, 0x32, 0x64, 0x99, 0xe5, 0xf9, 0xbd, 0x40, 0xda, 0x84, 0x63, 0x82, 0xb6,
|
||||
0xda, 0x28, 0x53, 0x1d, 0xd4, 0xd1, 0x97, 0xf8, 0x7c, 0xce, 0x0c, 0xa8, 0x1d, 0xd5, 0x40, 0x05,
|
||||
0xc8, 0x85, 0x4b, 0x58, 0x56, 0x5f, 0xa7, 0x60, 0x9e, 0x6f, 0xfe, 0x6d, 0x6b, 0xcf, 0xd8, 0x3d,
|
||||
0xfc, 0x97, 0x72, 0x12, 0x55, 0x38, 0xda, 0xd4, 0x76, 0x0d, 0x6c, 0x58, 0xad, 0x46, 0x9b, 0x78,
|
||||
0x96, 0x32, 0x05, 0x61, 0x65, 0xa6, 0x32, 0x5f, 0xa2, 0x73, 0xac, 0xe4, 0xcd, 0xb1, 0xd2, 0xd5,
|
||||
0xd6, 0xe1, 0x06, 0x7a, 0xf4, 0x60, 0x35, 0xd7, 0xdf, 0xfb, 0xd7, 0x5c, 0x03, 0x34, 0x72, 0x25,
|
||||
0xdb, 0xe4, 0xbe, 0xab, 0x95, 0xcf, 0xbe, 0xc9, 0x8f, 0xf1, 0xd4, 0xe5, 0x23, 0x87, 0x01, 0xd5,
|
||||
0x41, 0x0a, 0x9c, 0x0a, 0x5b, 0x67, 0x83, 0xa1, 0x02, 0x93, 0x2a, 0x65, 0x21, 0x96, 0x1f, 0x0f,
|
||||
0x88, 0x3e, 0x4d, 0xc1, 0x22, 0x5f, 0x0d, 0x6a, 0x74, 0xb8, 0xed, 0xf2, 0x3a, 0xcc, 0x53, 0xbe,
|
||||
0x29, 0x6b, 0x0d, 0x2f, 0x9c, 0x54, 0x8c, 0xba, 0xa8, 0xfb, 0x3d, 0x13, 0xc9, 0xb0, 0xfb, 0x6b,
|
||||
0x9d, 0x27, 0x75, 0x29, 0xb2, 0x1f, 0x7d, 0x79, 0xa2, 0xb3, 0x70, 0x26, 0x52, 0xc8, 0xba, 0xf2,
|
||||
0x87, 0x34, 0x48, 0x3c, 0xff, 0xb7, 0x0c, 0xfb, 0xce, 0x90, 0x9d, 0x39, 0x92, 0x93, 0xe6, 0x1c,
|
||||
0x64, 0x29, 0xdd, 0x7d, 0x9d, 0x7c, 0x44, 0xe7, 0x26, 0x41, 0x05, 0x16, 0xb8, 0xaa, 0x30, 0x74,
|
||||
0x86, 0xa0, 0x8f, 0xf9, 0xc8, 0x67, 0x3a, 0x6b, 0x7d, 0x3a, 0x2a, 0x76, 0x2b, 0x31, 0x5e, 0x10,
|
||||
0x56, 0xa6, 0xf8, 0x82, 0x61, 0xda, 0x2c, 0x21, 0xbb, 0x66, 0x62, 0xc4, 0xbb, 0xe6, 0x4a, 0x70,
|
||||
0xd7, 0x9c, 0x8d, 0xdc, 0x35, 0xbd, 0xea, 0xa0, 0xcf, 0x05, 0x28, 0x44, 0x09, 0x13, 0x9c, 0xab,
|
||||
0xa3, 0xec, 0x6b, 0xf4, 0x63, 0x0a, 0x50, 0x58, 0xb3, 0xf1, 0xa9, 0xff, 0xa7, 0x5b, 0x2f, 0xa4,
|
||||
0x92, 0xe9, 0x11, 0x57, 0xb2, 0x1a, 0xac, 0xe4, 0x72, 0xe4, 0x56, 0xe5, 0x6d, 0xa1, 0x8b, 0x50,
|
||||
0x8c, 0x27, 0x90, 0x6d, 0xdb, 0xbf, 0x04, 0x32, 0x36, 0x03, 0xf0, 0xa1, 0x0f, 0xca, 0x51, 0x32,
|
||||
0x3d, 0xe8, 0x64, 0xbd, 0x92, 0x94, 0x1e, 0x3e, 0x1f, 0x74, 0x1e, 0x96, 0x06, 0xc9, 0x19, 0x31,
|
||||
0x7f, 0xa4, 0x60, 0xae, 0x8e, 0xf5, 0xeb, 0xdd, 0x1d, 0xd3, 0xb0, 0xb7, 0x3b, 0x56, 0xdb, 0xc2,
|
||||
0xea, 0x5e, 0x64, 0x76, 0xc2, 0x10, 0xd9, 0x9d, 0x82, 0xe9, 0x36, 0xb1, 0xeb, 0x8d, 0xb9, 0x69,
|
||||
0xa5, 0xb7, 0x30, 0xf0, 0x04, 0xbe, 0xe4, 0xc8, 0x30, 0x56, 0x75, 0x0d, 0x4b, 0x19, 0x32, 0x1f,
|
||||
0x43, 0x5b, 0x4f, 0x61, 0x28, 0xf1, 0x02, 0x64, 0xb4, 0x03, 0x6d, 0x97, 0xcc, 0xa7, 0x6c, 0x65,
|
||||
0x21, 0x30, 0x4d, 0x6b, 0x07, 0xda, 0xae, 0x42, 0x20, 0xe2, 0x3c, 0x8c, 0xdb, 0x86, 0xbd, 0xa7,
|
||||
0x91, 0xf1, 0x34, 0xad, 0xd0, 0x0f, 0x51, 0x82, 0x49, 0xdc, 0x35, 0x4d, 0xb5, 0x73, 0x28, 0x4d,
|
||||
0x92, 0x75, 0xef, 0xb3, 0xfa, 0x82, 0xd7, 0xab, 0xbd, 0xe0, 0x9d, 0x82, 0x20, 0x5f, 0x41, 0xe8,
|
||||
0xe3, 0x25, 0xc0, 0x26, 0x7a, 0x89, 0x9c, 0xae, 0xfc, 0x22, 0x1b, 0x38, 0x79, 0x98, 0x69, 0xbb,
|
||||
0x6b, 0xbd, 0x99, 0x03, 0xde, 0xd2, 0x56, 0x13, 0x7d, 0x4b, 0x6f, 0xb1, 0xce, 0xac, 0x6a, 0x76,
|
||||
0xd4, 0xbb, 0xac, 0x46, 0x71, 0x8a, 0xfe, 0x9b, 0x40, 0x2a, 0xe1, 0x4d, 0xa0, 0x7a, 0xd9, 0xc9,
|
||||
0xd0, 0xfb, 0xea, 0x3f, 0x3a, 0x59, 0x7e, 0xfd, 0xb1, 0xb8, 0x17, 0xd4, 0xfe, 0x65, 0xd6, 0x64,
|
||||
0x7f, 0x0b, 0x30, 0x59, 0xc7, 0xfa, 0xdb, 0x96, 0x1d, 0x9f, 0xaf, 0xb3, 0x13, 0xf7, 0x2d, 0x5b,
|
||||
0xeb, 0xc4, 0x06, 0x4d, 0x61, 0xe2, 0x3a, 0x4c, 0x58, 0x6d, 0xdb, 0xb0, 0xe8, 0xfd, 0x20, 0x5b,
|
||||
0x39, 0x19, 0xa8, 0xba, 0xe3, 0xf7, 0x2d, 0x02, 0x51, 0x5c, 0x28, 0xd7, 0x76, 0x99, 0xbe, 0xb6,
|
||||
0x4b, 0xde, 0x44, 0xd5, 0x65, 0xb2, 0x3b, 0x49, 0x1c, 0x0e, 0x59, 0x52, 0x18, 0x59, 0x8e, 0x77,
|
||||
0x34, 0x07, 0x47, 0xdd, 0x7f, 0x19, 0x29, 0xf7, 0x28, 0x29, 0x8e, 0xb5, 0x78, 0x52, 0xfe, 0x0f,
|
||||
0x53, 0x8e, 0xc3, 0xae, 0x6d, 0xc5, 0xf3, 0xc2, 0x90, 0xf4, 0xa1, 0x39, 0x81, 0x0d, 0xbd, 0x35,
|
||||
0x20, 0x3e, 0x27, 0x00, 0xa4, 0x90, 0xf8, 0x48, 0x66, 0x5e, 0x63, 0xbe, 0x02, 0x13, 0x1d, 0x0d,
|
||||
0x77, 0xf7, 0x6c, 0xe2, 0x30, 0x5b, 0x59, 0x0e, 0x10, 0xe1, 0xd5, 0xb9, 0xe6, 0xfa, 0x53, 0x08,
|
||||
0x5c, 0x71, 0xd5, 0xd0, 0x17, 0x02, 0x1c, 0xa9, 0x63, 0xfd, 0x0d, 0x4d, 0xdd, 0x77, 0x5f, 0xe2,
|
||||
0x43, 0xdc, 0x4d, 0x07, 0xdc, 0xde, 0xe9, 0x8b, 0xd1, 0xdf, 0xac, 0xb9, 0xb0, 0xfc, 0x7a, 0xfe,
|
||||
0xd1, 0x09, 0xf2, 0x30, 0xee, 0x2d, 0x78, 0xb9, 0x16, 0x8b, 0x90, 0xa9, 0xd1, 0xa1, 0x30, 0x5b,
|
||||
0x7b, 0xa7, 0xb6, 0xd9, 0xb8, 0xf9, 0xe6, 0xf5, 0xed, 0xda, 0xe6, 0xd6, 0xab, 0x5b, 0xb5, 0x6b,
|
||||
0xb3, 0x63, 0xe2, 0xff, 0x60, 0x8a, 0xac, 0xde, 0x50, 0xde, 0x9d, 0x15, 0x2a, 0x8f, 0x66, 0x20,
|
||||
0x5d, 0xc7, 0xba, 0x78, 0x0b, 0x66, 0xfc, 0xbf, 0x32, 0xe4, 0x83, 0x57, 0x37, 0xee, 0xae, 0x21,
|
||||
0x2f, 0xc7, 0x00, 0x18, 0xf1, 0x7b, 0x20, 0x86, 0xbc, 0xdd, 0xcf, 0x87, 0xa9, 0x07, 0x71, 0x72,
|
||||
0x29, 0x19, 0x8e, 0x79, 0xbb, 0x0d, 0xb3, 0x81, 0x07, 0xf2, 0x52, 0x8c, 0x0d, 0x82, 0x92, 0x2f,
|
||||
0x26, 0x41, 0x31, 0x3f, 0x16, 0x1c, 0x0b, 0x7b, 0xa0, 0x2e, 0xc7, 0x86, 0x4b, 0x81, 0x72, 0x39,
|
||||
0x21, 0x90, 0x39, 0x34, 0x60, 0x2e, 0xf8, 0x76, 0x3c, 0x17, 0x53, 0x04, 0x0a, 0x93, 0x57, 0x13,
|
||||
0xc1, 0x98, 0xab, 0x2e, 0x2c, 0x84, 0x3f, 0x08, 0x2e, 0xc4, 0xd8, 0xe9, 0x41, 0xe5, 0xb5, 0xc4,
|
||||
0x50, 0xe6, 0xf6, 0x00, 0x8e, 0x47, 0x3c, 0xd9, 0x8a, 0x31, 0x64, 0xf9, 0xb0, 0x72, 0x25, 0x39,
|
||||
0x96, 0x79, 0xfe, 0x4a, 0x80, 0x7c, 0xdc, 0xdd, 0x75, 0x3d, 0x91, 0x5d, 0x5e, 0x49, 0x7e, 0x71,
|
||||
0x08, 0x25, 0x16, 0xd5, 0xc7, 0x02, 0x2c, 0x46, 0xdf, 0xf0, 0x56, 0x13, 0x99, 0x66, 0xfd, 0x76,
|
||||
0xf9, 0xb9, 0xe0, 0x2c, 0x86, 0xf7, 0x21, 0xdb, 0x77, 0x97, 0x42, 0x61, 0x86, 0x78, 0x8c, 0x5c,
|
||||
0x8c, 0xc7, 0xf8, 0x37, 0x6c, 0xe0, 0x2e, 0x10, 0xba, 0x61, 0xfb, 0x51, 0xe1, 0x1b, 0x36, 0xea,
|
||||
0xd0, 0x16, 0x37, 0x20, 0x43, 0x0e, 0x6c, 0x29, 0x4c, 0xcb, 0x91, 0xc8, 0x85, 0x28, 0x89, 0xdf,
|
||||
0x06, 0x99, 0xab, 0xa1, 0x36, 0x1c, 0x49, 0xb8, 0x0d, 0xee, 0x1c, 0xba, 0x01, 0xe0, 0x3b, 0x42,
|
||||
0x72, 0x61, 0xf8, 0x9e, 0x5c, 0x3e, 0x3f, 0x58, 0xee, 0x59, 0x95, 0xc7, 0x3f, 0x72, 0x5e, 0xd1,
|
||||
0x1b, 0x2f, 0x3f, 0x7c, 0x92, 0x13, 0x1e, 0x3f, 0xc9, 0x09, 0xbf, 0x3f, 0xc9, 0x09, 0x5f, 0x3e,
|
||||
0xcd, 0x8d, 0x3d, 0x7e, 0x9a, 0x1b, 0xfb, 0xf5, 0x69, 0x6e, 0xec, 0xbd, 0x25, 0xdd, 0xb0, 0xef,
|
||||
0x74, 0x77, 0x4a, 0xbb, 0x96, 0xe9, 0xfe, 0x8a, 0x5d, 0xf6, 0x9d, 0x2e, 0x07, 0xf4, 0x7c, 0xd9,
|
||||
0x99, 0x20, 0x17, 0xd1, 0xf5, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x77, 0x54, 0x7d, 0x37,
|
||||
0x17, 0x00, 0x00,
|
||||
0x3f, 0x2e, 0x80, 0x90, 0x40, 0x82, 0x3f, 0x00, 0x6e, 0x1c, 0x8b, 0xd4, 0x03, 0x37, 0x6e, 0xa8,
|
||||
0x2a, 0x97, 0x8a, 0x13, 0x27, 0x04, 0xad, 0x50, 0x6f, 0xfc, 0x0b, 0xa0, 0x9d, 0xd9, 0x1d, 0xef,
|
||||
0x78, 0x77, 0xbd, 0x5b, 0xcb, 0x82, 0x4b, 0x94, 0x9d, 0xf7, 0x79, 0xbf, 0x3e, 0xef, 0xcd, 0x9b,
|
||||
0x19, 0x83, 0xb4, 0x6b, 0x61, 0xd3, 0xc2, 0x65, 0xbd, 0x63, 0x75, 0xdb, 0xe5, 0xfd, 0xb5, 0xb2,
|
||||
0x7d, 0x50, 0x6a, 0x77, 0x2c, 0xdb, 0x12, 0x8f, 0x52, 0x49, 0x89, 0x48, 0x4a, 0xfb, 0x6b, 0xf2,
|
||||
0xbc, 0x6e, 0xe9, 0x16, 0x91, 0x95, 0x9d, 0xff, 0x28, 0x4c, 0x5e, 0xa4, 0xb0, 0x06, 0x15, 0xb8,
|
||||
0x3a, 0xae, 0x48, 0xb7, 0x2c, 0x7d, 0x4f, 0x2b, 0x93, 0xaf, 0x9d, 0xee, 0xed, 0xb2, 0xda, 0x3a,
|
||||
0x74, 0x45, 0x27, 0x03, 0x6e, 0x0f, 0xdb, 0x9a, 0xa7, 0x77, 0xc2, 0x15, 0x9a, 0x58, 0x77, 0x44,
|
||||
0x26, 0xd6, 0x5d, 0xc1, 0x9c, 0x6a, 0x1a, 0x2d, 0xab, 0x4c, 0xfe, 0xd2, 0x25, 0xf4, 0xb3, 0x00,
|
||||
0xd9, 0x3a, 0xd6, 0x37, 0x3b, 0x9a, 0x6a, 0x6b, 0xaf, 0x38, 0xd6, 0xc4, 0x12, 0x8c, 0xab, 0x4d,
|
||||
0xd3, 0x68, 0x49, 0x42, 0x41, 0x58, 0x99, 0xde, 0x90, 0x7e, 0xb9, 0xbf, 0x3a, 0xef, 0xc6, 0x75,
|
||||
0xb5, 0xd9, 0xec, 0x68, 0x18, 0x5f, 0xb7, 0x3b, 0x46, 0x4b, 0x57, 0x28, 0x4c, 0xdc, 0x84, 0x49,
|
||||
0x53, 0x33, 0x77, 0xb4, 0x0e, 0x96, 0x52, 0x85, 0xf4, 0xca, 0x4c, 0x25, 0x57, 0xea, 0x4b, 0xbd,
|
||||
0x54, 0x27, 0x72, 0x45, 0x7b, 0xbf, 0xab, 0x61, 0x7b, 0x63, 0xfa, 0xc1, 0x6f, 0xf9, 0xb1, 0xef,
|
||||
0x9e, 0xde, 0x2b, 0x0a, 0x8a, 0xa7, 0x29, 0xca, 0x30, 0x65, 0x6a, 0xb6, 0xda, 0x54, 0x6d, 0x55,
|
||||
0x4a, 0x3b, 0x7e, 0x15, 0xf6, 0x5d, 0x5d, 0xf9, 0xe8, 0xe9, 0xbd, 0x22, 0x75, 0xf6, 0xd9, 0xd3,
|
||||
0x7b, 0x45, 0x97, 0xb1, 0x55, 0xdc, 0x7c, 0xaf, 0xcc, 0x87, 0x8e, 0xd6, 0xe1, 0x38, 0xbf, 0xa2,
|
||||
0x68, 0xb8, 0x6d, 0xb5, 0xb0, 0x26, 0x2e, 0xc2, 0x14, 0x89, 0xa6, 0x61, 0x34, 0x49, 0x5e, 0x19,
|
||||
0x65, 0x92, 0x7c, 0x6f, 0x35, 0xd1, 0x9f, 0x02, 0x2c, 0xd4, 0xb1, 0x7e, 0xb3, 0xdd, 0xf4, 0xb4,
|
||||
0xea, 0x6e, 0x50, 0xcf, 0xca, 0x84, 0xdf, 0x49, 0x8a, 0x73, 0x22, 0x6e, 0x43, 0x96, 0xa6, 0xda,
|
||||
0xe8, 0x12, 0x3f, 0x58, 0x4a, 0x3f, 0x2b, 0x57, 0x47, 0xa8, 0x01, 0x1a, 0x27, 0xae, 0x96, 0x79,
|
||||
0x56, 0x0a, 0x3c, 0x2b, 0xc1, 0x6c, 0x50, 0x1e, 0x4e, 0x87, 0x0a, 0x3c, 0x8e, 0xd0, 0x4f, 0x02,
|
||||
0x1c, 0xe3, 0x11, 0x57, 0x49, 0x5a, 0x23, 0xa4, 0xe1, 0x32, 0x4c, 0xb7, 0xb4, 0xbb, 0x0d, 0x6a,
|
||||
0x2e, 0x1d, 0x63, 0x6e, 0xaa, 0xa5, 0xdd, 0x25, 0x11, 0x54, 0x57, 0xf9, 0x5c, 0x73, 0x91, 0xb9,
|
||||
0x12, 0x38, 0x3a, 0x0d, 0x27, 0x43, 0x96, 0x59, 0x9e, 0xdf, 0x0b, 0xa4, 0x4d, 0x38, 0x26, 0x68,
|
||||
0xab, 0x8d, 0x32, 0xd5, 0x41, 0x1d, 0x7d, 0x89, 0xcf, 0xe7, 0xcc, 0x80, 0xda, 0x51, 0x0d, 0x54,
|
||||
0x80, 0x5c, 0xb8, 0x84, 0x65, 0xf5, 0x75, 0x0a, 0xe6, 0xf9, 0xe6, 0xdf, 0xb6, 0xf6, 0x8c, 0xdd,
|
||||
0xc3, 0x7f, 0x29, 0x27, 0x51, 0x85, 0xa3, 0x4d, 0x6d, 0xd7, 0xc0, 0x86, 0xd5, 0x6a, 0xb4, 0x89,
|
||||
0x67, 0x29, 0x53, 0x10, 0x56, 0x66, 0x2a, 0xf3, 0x25, 0x3a, 0xc7, 0x4a, 0xde, 0x1c, 0x2b, 0x5d,
|
||||
0x6d, 0x1d, 0x6e, 0xa0, 0x87, 0xf7, 0x57, 0x73, 0xfd, 0xbd, 0x7f, 0xcd, 0x35, 0x40, 0x23, 0x57,
|
||||
0xb2, 0x4d, 0xee, 0xbb, 0x5a, 0xf9, 0xe4, 0x9b, 0xfc, 0x18, 0x4f, 0x5d, 0x3e, 0x72, 0x18, 0x50,
|
||||
0x1d, 0xa4, 0xc0, 0xa9, 0xb0, 0x75, 0x36, 0x18, 0x2a, 0x30, 0xa9, 0x52, 0x16, 0x62, 0xf9, 0xf1,
|
||||
0x80, 0xe8, 0xe3, 0x14, 0x2c, 0xf2, 0xd5, 0xa0, 0x46, 0x87, 0xdb, 0x2e, 0xaf, 0xc2, 0x3c, 0xe5,
|
||||
0x9b, 0xb2, 0xd6, 0xf0, 0xc2, 0x49, 0xc5, 0xa8, 0x8b, 0xba, 0xdf, 0x33, 0x91, 0x0c, 0xbb, 0xbf,
|
||||
0xd6, 0x79, 0x52, 0x97, 0x22, 0xfb, 0xd1, 0x97, 0x27, 0x3a, 0x0b, 0x67, 0x22, 0x85, 0xac, 0x2b,
|
||||
0x7f, 0x48, 0x83, 0xc4, 0xf3, 0x7f, 0xcb, 0xb0, 0xef, 0x0c, 0xd9, 0x99, 0x23, 0x39, 0x69, 0xce,
|
||||
0x41, 0x96, 0xd2, 0xdd, 0xd7, 0xc9, 0x47, 0x74, 0x6e, 0x12, 0x54, 0x60, 0x81, 0xab, 0x0a, 0x43,
|
||||
0x67, 0x08, 0xfa, 0x98, 0x8f, 0x7c, 0xa6, 0xb3, 0xd6, 0xa7, 0xa3, 0x62, 0xb7, 0x12, 0xe3, 0x05,
|
||||
0x61, 0x65, 0x8a, 0x2f, 0x18, 0xa6, 0xcd, 0x12, 0xb2, 0x6b, 0x26, 0x46, 0xbc, 0x6b, 0xae, 0x04,
|
||||
0x77, 0xcd, 0xd9, 0xc8, 0x5d, 0xd3, 0xab, 0x0e, 0xfa, 0x54, 0x80, 0x42, 0x94, 0x30, 0xc1, 0xb9,
|
||||
0x3a, 0xca, 0xbe, 0x46, 0x3f, 0xa6, 0x00, 0x85, 0x35, 0x1b, 0x9f, 0xfa, 0x7f, 0xba, 0xf5, 0x42,
|
||||
0x2a, 0x99, 0x1e, 0x71, 0x25, 0xab, 0xc1, 0x4a, 0x2e, 0x47, 0x6e, 0x55, 0xde, 0x16, 0xba, 0x08,
|
||||
0xc5, 0x78, 0x02, 0xd9, 0xb6, 0xfd, 0x4b, 0x20, 0x63, 0x33, 0x00, 0x1f, 0xfa, 0xa0, 0x1c, 0x25,
|
||||
0xd3, 0x83, 0x4e, 0xd6, 0x2b, 0x49, 0xe9, 0xe1, 0xf3, 0x41, 0xe7, 0x61, 0x69, 0x90, 0x9c, 0x11,
|
||||
0xf3, 0x47, 0x0a, 0xe6, 0xea, 0x58, 0xbf, 0xde, 0xdd, 0x31, 0x0d, 0x7b, 0xbb, 0x63, 0xb5, 0x2d,
|
||||
0xac, 0xee, 0x45, 0x66, 0x27, 0x0c, 0x91, 0xdd, 0x29, 0x98, 0x6e, 0x13, 0xbb, 0xde, 0x98, 0x9b,
|
||||
0x56, 0x7a, 0x0b, 0x03, 0x4f, 0xe0, 0x4b, 0x8e, 0x0c, 0x63, 0x55, 0xd7, 0xb0, 0x94, 0x21, 0xf3,
|
||||
0x31, 0xb4, 0xf5, 0x14, 0x86, 0x12, 0x2f, 0x40, 0x46, 0x3b, 0xd0, 0x76, 0xc9, 0x7c, 0xca, 0x56,
|
||||
0x16, 0x02, 0xd3, 0xb4, 0x76, 0xa0, 0xed, 0x2a, 0x04, 0x22, 0xce, 0xc3, 0xb8, 0x6d, 0xd8, 0x7b,
|
||||
0x1a, 0x19, 0x4f, 0xd3, 0x0a, 0xfd, 0x10, 0x25, 0x98, 0xc4, 0x5d, 0xd3, 0x54, 0x3b, 0x87, 0xd2,
|
||||
0x24, 0x59, 0xf7, 0x3e, 0xab, 0xcf, 0x79, 0xbd, 0xda, 0x0b, 0xde, 0x29, 0x08, 0xf2, 0x15, 0x84,
|
||||
0x3e, 0x5e, 0x02, 0x6c, 0xa2, 0x17, 0xc8, 0xe9, 0xca, 0x2f, 0xb2, 0x81, 0x93, 0x87, 0x99, 0xb6,
|
||||
0xbb, 0xd6, 0x9b, 0x39, 0xe0, 0x2d, 0x6d, 0x35, 0xd1, 0xb7, 0xf4, 0x16, 0xeb, 0xcc, 0xaa, 0x66,
|
||||
0x47, 0xbd, 0xcb, 0x6a, 0x14, 0xa7, 0xe8, 0xbf, 0x09, 0xa4, 0x12, 0xde, 0x04, 0xaa, 0x97, 0x9d,
|
||||
0x0c, 0xbd, 0xaf, 0xfe, 0xa3, 0x93, 0xe5, 0xd7, 0x1f, 0x8b, 0x7b, 0x41, 0xed, 0x5f, 0x66, 0x4d,
|
||||
0xf6, 0xb7, 0x00, 0x93, 0x75, 0xac, 0xbf, 0x69, 0xd9, 0xf1, 0xf9, 0x3a, 0x3b, 0x71, 0xdf, 0xb2,
|
||||
0xb5, 0x4e, 0x6c, 0xd0, 0x14, 0x26, 0xae, 0xc3, 0x84, 0xd5, 0xb6, 0x0d, 0x8b, 0xde, 0x0f, 0xb2,
|
||||
0x95, 0x93, 0x81, 0xaa, 0x3b, 0x7e, 0xdf, 0x20, 0x10, 0xc5, 0x85, 0x72, 0x6d, 0x97, 0xe9, 0x6b,
|
||||
0xbb, 0xe4, 0x4d, 0x54, 0x5d, 0x26, 0xbb, 0x93, 0xc4, 0xe1, 0x90, 0x25, 0x85, 0x91, 0xe5, 0x78,
|
||||
0x47, 0x73, 0x70, 0xd4, 0xfd, 0x97, 0x91, 0xf2, 0x39, 0x25, 0xc5, 0xb1, 0x16, 0x4f, 0xca, 0xff,
|
||||
0x61, 0xca, 0x71, 0xd8, 0xb5, 0xad, 0x78, 0x5e, 0x18, 0xb2, 0x5a, 0x74, 0xc2, 0x63, 0x9f, 0x91,
|
||||
0x11, 0x3a, 0x21, 0x20, 0x85, 0x44, 0x48, 0x72, 0xf3, 0x5a, 0xf3, 0x25, 0x98, 0xe8, 0x68, 0xb8,
|
||||
0xbb, 0x67, 0x13, 0x97, 0xd9, 0xca, 0x72, 0x80, 0x0a, 0xaf, 0xd2, 0x35, 0xd7, 0x85, 0x42, 0xe0,
|
||||
0x8a, 0xab, 0x86, 0xbe, 0x10, 0xe0, 0x48, 0x1d, 0xeb, 0xaf, 0x69, 0xea, 0xbe, 0xfb, 0x16, 0x1f,
|
||||
0xe2, 0x76, 0x3a, 0xe0, 0xfe, 0x4e, 0xdf, 0x8c, 0xfe, 0x76, 0xcd, 0x85, 0xe5, 0xd7, 0xf3, 0x8f,
|
||||
0x4e, 0x90, 0xa7, 0x71, 0x6f, 0xc1, 0xcb, 0xb5, 0x58, 0x84, 0x4c, 0x8d, 0x8e, 0x85, 0xd9, 0xda,
|
||||
0x5b, 0xb5, 0xcd, 0xc6, 0xcd, 0xd7, 0xaf, 0x6f, 0xd7, 0x36, 0xb7, 0x5e, 0xde, 0xaa, 0x5d, 0x9b,
|
||||
0x1d, 0x13, 0xff, 0x07, 0x53, 0x64, 0xf5, 0x86, 0xf2, 0xf6, 0xac, 0x50, 0x79, 0x38, 0x03, 0xe9,
|
||||
0x3a, 0xd6, 0xc5, 0x5b, 0x30, 0xe3, 0xff, 0x9d, 0x21, 0x1f, 0xbc, 0xbc, 0x71, 0xb7, 0x0d, 0x79,
|
||||
0x39, 0x06, 0xc0, 0x88, 0xdf, 0x03, 0x31, 0xe4, 0xf5, 0x7e, 0x3e, 0x4c, 0x3d, 0x88, 0x93, 0x4b,
|
||||
0xc9, 0x70, 0xcc, 0xdb, 0x6d, 0x98, 0x0d, 0x3c, 0x91, 0x97, 0x62, 0x6c, 0x10, 0x94, 0x7c, 0x31,
|
||||
0x09, 0x8a, 0xf9, 0xb1, 0xe0, 0x58, 0xd8, 0x13, 0x75, 0x39, 0x36, 0x5c, 0x0a, 0x94, 0xcb, 0x09,
|
||||
0x81, 0xcc, 0xa1, 0x01, 0x73, 0xc1, 0xd7, 0xe3, 0xb9, 0x98, 0x22, 0x50, 0x98, 0xbc, 0x9a, 0x08,
|
||||
0xc6, 0x5c, 0x75, 0x61, 0x21, 0xfc, 0x49, 0x70, 0x21, 0xc6, 0x4e, 0x0f, 0x2a, 0xaf, 0x25, 0x86,
|
||||
0x32, 0xb7, 0x07, 0x70, 0x3c, 0xe2, 0xd1, 0x56, 0x8c, 0x21, 0xcb, 0x87, 0x95, 0x2b, 0xc9, 0xb1,
|
||||
0xcc, 0xf3, 0x57, 0x02, 0xe4, 0xe3, 0x6e, 0xaf, 0xeb, 0x89, 0xec, 0xf2, 0x4a, 0xf2, 0xf3, 0x43,
|
||||
0x28, 0xb1, 0xa8, 0x3e, 0x14, 0x60, 0x31, 0xfa, 0x8e, 0xb7, 0x9a, 0xc8, 0x34, 0xeb, 0xb7, 0xcb,
|
||||
0xcf, 0x04, 0x67, 0x31, 0xbc, 0x0b, 0xd9, 0xbe, 0xdb, 0x14, 0x0a, 0x33, 0xc4, 0x63, 0xe4, 0x62,
|
||||
0x3c, 0xc6, 0xbf, 0x61, 0x03, 0xb7, 0x81, 0xd0, 0x0d, 0xdb, 0x8f, 0x0a, 0xdf, 0xb0, 0x51, 0xc7,
|
||||
0xb6, 0xb8, 0x01, 0x19, 0x72, 0x64, 0x4b, 0x61, 0x5a, 0x8e, 0x44, 0x2e, 0x44, 0x49, 0xfc, 0x36,
|
||||
0xc8, 0x5c, 0x0d, 0xb5, 0xe1, 0x48, 0xc2, 0x6d, 0x70, 0xe7, 0xd0, 0x0d, 0x00, 0xdf, 0x11, 0x92,
|
||||
0x0b, 0xc3, 0xf7, 0xe4, 0xf2, 0xf9, 0xc1, 0x72, 0xcf, 0xaa, 0x3c, 0xfe, 0x81, 0xf3, 0x8e, 0xde,
|
||||
0x78, 0xf1, 0xc1, 0xe3, 0x9c, 0xf0, 0xe8, 0x71, 0x4e, 0xf8, 0xfd, 0x71, 0x4e, 0xf8, 0xf2, 0x49,
|
||||
0x6e, 0xec, 0xd1, 0x93, 0xdc, 0xd8, 0xaf, 0x4f, 0x72, 0x63, 0xef, 0x2c, 0xe9, 0x86, 0x7d, 0xa7,
|
||||
0xbb, 0x53, 0xda, 0xb5, 0x4c, 0xf7, 0x77, 0xec, 0xb2, 0xef, 0x74, 0x39, 0xa0, 0xe7, 0xcb, 0xce,
|
||||
0x04, 0xb9, 0x8a, 0xae, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x17, 0xcf, 0x29, 0x39, 0x17,
|
||||
0x00, 0x00,
|
||||
}
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
|
||||
@ -33,6 +33,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
|
||||
## API Breaking
|
||||
|
||||
* [#13793](https://github.com/cosmos/cosmos-sdk/pull/13793) `direct_aux.NewSignModeHandler` constructor function now returns an additional error argument.
|
||||
* [#15278](https://github.com/cosmos/cosmos-sdk/pull/15278) Move `x/tx/{textual,aminojson}` into `x/tx/signing`.
|
||||
* [#15302](https://github.com/cosmos/cosmos-sdk/pull/15302) `textual.NewSignModeHandler` now takes an options struct instead of a simple coin querier argument. It also returns an error.
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@ module cosmossdk.io/x/tx
|
||||
go 1.20
|
||||
|
||||
require (
|
||||
cosmossdk.io/api v0.3.1
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba
|
||||
cosmossdk.io/math v1.0.0-rc.0
|
||||
github.com/cosmos/cosmos-proto v1.0.0-beta.3
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
cosmossdk.io/api v0.3.1 h1:NNiOclKRR0AOlO4KIqeaG6PS6kswOMhHD0ir0SscNXE=
|
||||
cosmossdk.io/api v0.3.1/go.mod h1:DfHfMkiNA2Uhy8fj0JJlOCYOBp4eWUUJ1te5zBGNyIw=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7 h1:4LrWK+uGP5IxznxtHHsHD+ZBs2+oZRH2loYOGjHLzZM=
|
||||
cosmossdk.io/api v0.3.2-0.20230313131911-55bf5d4efbe7/go.mod h1:yVns7mKgcsG+hZW/3C5FdJtC6QYWdFIcRlKb9+5HV5g=
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba h1:kSnaDzbwMInpQYwz8ESgvi6ceUQWcXAJdEVZW454dX0=
|
||||
cosmossdk.io/core v0.6.1-0.20230309163709-87da587416ba/go.mod h1:WiFk9ZQbFVBHk9AqQIkLFqyj30NPQB6C45CIeAZxDcw=
|
||||
cosmossdk.io/math v1.0.0-rc.0 h1:ml46ukocrAAoBpYKMidF0R2tQJ1Uxfns0yH8wqgMAFc=
|
||||
|
||||
@ -34,7 +34,7 @@ type SignModeHandlerOptions struct {
|
||||
}
|
||||
|
||||
// NewSignModeHandler returns a new SignModeHandler.
|
||||
func NewSignModeHandler(options SignModeHandlerOptions) SignModeHandler {
|
||||
func NewSignModeHandler(options SignModeHandlerOptions) (SignModeHandler, error) {
|
||||
h := SignModeHandler{}
|
||||
|
||||
if options.FileResolver == nil {
|
||||
@ -50,12 +50,16 @@ func NewSignModeHandler(options SignModeHandlerOptions) SignModeHandler {
|
||||
}
|
||||
|
||||
if options.SignersContext == nil {
|
||||
h.signersContext = signing.NewGetSignersContext(signing.GetSignersOptions{ProtoFiles: h.fileResolver})
|
||||
var err error
|
||||
h.signersContext, err = signing.NewGetSignersContext(signing.GetSignersOptions{ProtoFiles: h.fileResolver})
|
||||
if err != nil {
|
||||
return h, err
|
||||
}
|
||||
} else {
|
||||
h.signersContext = options.SignersContext
|
||||
}
|
||||
|
||||
return h
|
||||
return h, nil
|
||||
}
|
||||
|
||||
var _ signing.SignModeHandler = SignModeHandler{}
|
||||
|
||||
@ -83,7 +83,8 @@ func TestDirectAuxHandler(t *testing.T) {
|
||||
AuthInfoBytes: authInfoBz,
|
||||
BodyBytes: bodyBz,
|
||||
}
|
||||
modeHandler := direct_aux.NewSignModeHandler(direct_aux.SignModeHandlerOptions{})
|
||||
modeHandler, err := direct_aux.NewSignModeHandler(direct_aux.SignModeHandlerOptions{})
|
||||
require.NoError(t, err)
|
||||
|
||||
t.Log("verify fee payer cannot use SIGN_MODE_DIRECT_AUX")
|
||||
feePayerSigningData := signing.SignerData{
|
||||
|
||||
@ -1,12 +1,14 @@
|
||||
package signing
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
"google.golang.org/protobuf/reflect/protodesc"
|
||||
"google.golang.org/protobuf/reflect/protoreflect"
|
||||
"google.golang.org/protobuf/reflect/protoregistry"
|
||||
"google.golang.org/protobuf/types/dynamicpb"
|
||||
|
||||
msgv1 "cosmossdk.io/api/cosmos/msg/v1"
|
||||
)
|
||||
@ -27,16 +29,18 @@ type GetSignersOptions struct {
|
||||
}
|
||||
|
||||
// NewGetSignersContext creates a new GetSignersContext using the provided options.
|
||||
func NewGetSignersContext(options GetSignersOptions) *GetSignersContext {
|
||||
func NewGetSignersContext(options GetSignersOptions) (*GetSignersContext, error) {
|
||||
protoFiles := options.ProtoFiles
|
||||
if protoFiles == nil {
|
||||
protoFiles = protoregistry.GlobalFiles
|
||||
}
|
||||
|
||||
return &GetSignersContext{
|
||||
c := &GetSignersContext{
|
||||
protoFiles: protoFiles,
|
||||
getSignersFuncs: map[protoreflect.FullName]getSignersFunc{},
|
||||
}
|
||||
|
||||
return c, c.init()
|
||||
}
|
||||
|
||||
type getSignersFunc func(proto.Message) []string
|
||||
@ -50,6 +54,43 @@ func getSignersFieldNames(descriptor protoreflect.MessageDescriptor) ([]string,
|
||||
return signersFields, nil
|
||||
}
|
||||
|
||||
// init performs a dry run of getting all msg's signers. This has 2 benefits:
|
||||
// - it will error if any Msg has forgotten the "cosmos.msg.v1.signer"
|
||||
// annotation
|
||||
// - it will pre-populate the context's internal cache for getSignersFuncs
|
||||
// so that calling it in antehandlers will be faster.
|
||||
func (c *GetSignersContext) init() error {
|
||||
fs, ok := c.protoFiles.(*protoregistry.Files)
|
||||
if !ok {
|
||||
return fmt.Errorf("expected *protoregistry.Files in GetSignersContext, got %T", c.protoFiles)
|
||||
}
|
||||
|
||||
var errs []error
|
||||
fs.RangeFiles(func(fd protoreflect.FileDescriptor) bool {
|
||||
for i := 0; i < fd.Services().Len(); i++ {
|
||||
sd := fd.Services().Get(i)
|
||||
// We use the heuristic that services named "Msg" are exactly the
|
||||
// ones that need the proto annotation check.
|
||||
if sd.Name() != "Msg" {
|
||||
continue
|
||||
}
|
||||
|
||||
for j := 0; j < sd.Methods().Len(); j++ {
|
||||
md := sd.Methods().Get(j).Input()
|
||||
msg := dynamicpb.NewMessage(md)
|
||||
_, err := c.GetSigners(msg)
|
||||
if err != nil {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
})
|
||||
|
||||
return errors.Join(errs...)
|
||||
}
|
||||
|
||||
func (*GetSignersContext) makeGetSignersFunc(descriptor protoreflect.MessageDescriptor) (getSignersFunc, error) {
|
||||
signersFields, err := getSignersFieldNames(descriptor)
|
||||
if err != nil {
|
||||
|
||||
@ -12,7 +12,8 @@ import (
|
||||
)
|
||||
|
||||
func TestGetSigners(t *testing.T) {
|
||||
ctx := NewGetSignersContext(GetSignersOptions{})
|
||||
ctx, err := NewGetSignersContext(GetSignersOptions{})
|
||||
require.NoError(t, err)
|
||||
tests := []struct {
|
||||
name string
|
||||
msg proto.Message
|
||||
|
||||
Loading…
Reference in New Issue
Block a user