diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b94d5bdce26..3a124211e89e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### State Machine Breaking +* (x/distribution) [#12852](https://github.com/cosmos/cosmos-sdk/pull/12852) Deprecate `CommunityPoolSpendProposal`. Please execute a `MsgCommunityPoolSpend` message via the new v1 `x/gov` module instead. This message can be used to directly fund the `x/gov` module account. * (x/bank) [#12610](https://github.com/cosmos/cosmos-sdk/pull/12610) `MsgMultiSend` now allows only a single input. * (x/bank) [#12630](https://github.com/cosmos/cosmos-sdk/pull/12630) Migrate `x/bank` to self-managed parameters and deprecate its usage of `x/params`. * (x/auth) [#12475](https://github.com/cosmos/cosmos-sdk/pull/12475) Migrate `x/auth` to self-managed parameters and deprecate its usage of `x/params`. diff --git a/api/cosmos/base/tendermint/v1beta1/query.pulsar.go b/api/cosmos/base/tendermint/v1beta1/query.pulsar.go index 1dfd4295a866..6b18c443f304 100644 --- a/api/cosmos/base/tendermint/v1beta1/query.pulsar.go +++ b/api/cosmos/base/tendermint/v1beta1/query.pulsar.go @@ -5844,14 +5844,14 @@ func (x *fastReflection_GetNodeInfoRequest) ProtoMethods() *protoiface.Methods { var ( md_GetNodeInfoResponse protoreflect.MessageDescriptor - fd_GetNodeInfoResponse_node_info protoreflect.FieldDescriptor + fd_GetNodeInfoResponse_default_node_info protoreflect.FieldDescriptor fd_GetNodeInfoResponse_application_version protoreflect.FieldDescriptor ) func init() { file_cosmos_base_tendermint_v1beta1_query_proto_init() md_GetNodeInfoResponse = File_cosmos_base_tendermint_v1beta1_query_proto.Messages().ByName("GetNodeInfoResponse") - fd_GetNodeInfoResponse_node_info = md_GetNodeInfoResponse.Fields().ByName("node_info") + fd_GetNodeInfoResponse_default_node_info = md_GetNodeInfoResponse.Fields().ByName("default_node_info") fd_GetNodeInfoResponse_application_version = md_GetNodeInfoResponse.Fields().ByName("application_version") } @@ -5920,9 +5920,9 @@ func (x *fastReflection_GetNodeInfoResponse) Interface() protoreflect.ProtoMessa // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_GetNodeInfoResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.NodeInfo != nil { - value := protoreflect.ValueOfMessage(x.NodeInfo.ProtoReflect()) - if !f(fd_GetNodeInfoResponse_node_info, value) { + if x.DefaultNodeInfo != nil { + value := protoreflect.ValueOfMessage(x.DefaultNodeInfo.ProtoReflect()) + if !f(fd_GetNodeInfoResponse_default_node_info, value) { return } } @@ -5947,8 +5947,8 @@ func (x *fastReflection_GetNodeInfoResponse) Range(f func(protoreflect.FieldDesc // a repeated field is populated if it is non-empty. func (x *fastReflection_GetNodeInfoResponse) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - return x.NodeInfo != nil + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + return x.DefaultNodeInfo != nil case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": return x.ApplicationVersion != nil default: @@ -5967,8 +5967,8 @@ func (x *fastReflection_GetNodeInfoResponse) Has(fd protoreflect.FieldDescriptor // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_GetNodeInfoResponse) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - x.NodeInfo = nil + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + x.DefaultNodeInfo = nil case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": x.ApplicationVersion = nil default: @@ -5987,8 +5987,8 @@ func (x *fastReflection_GetNodeInfoResponse) Clear(fd protoreflect.FieldDescript // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_GetNodeInfoResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - value := x.NodeInfo + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + value := x.DefaultNodeInfo return protoreflect.ValueOfMessage(value.ProtoReflect()) case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": value := x.ApplicationVersion @@ -6013,8 +6013,8 @@ func (x *fastReflection_GetNodeInfoResponse) Get(descriptor protoreflect.FieldDe // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_GetNodeInfoResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - x.NodeInfo = value.Message().Interface().(*p2p.NodeInfo) + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + x.DefaultNodeInfo = value.Message().Interface().(*p2p.DefaultNodeInfo) case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": x.ApplicationVersion = value.Message().Interface().(*VersionInfo) default: @@ -6037,11 +6037,11 @@ func (x *fastReflection_GetNodeInfoResponse) Set(fd protoreflect.FieldDescriptor // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_GetNodeInfoResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - if x.NodeInfo == nil { - x.NodeInfo = new(p2p.NodeInfo) + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + if x.DefaultNodeInfo == nil { + x.DefaultNodeInfo = new(p2p.DefaultNodeInfo) } - return protoreflect.ValueOfMessage(x.NodeInfo.ProtoReflect()) + return protoreflect.ValueOfMessage(x.DefaultNodeInfo.ProtoReflect()) case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": if x.ApplicationVersion == nil { x.ApplicationVersion = new(VersionInfo) @@ -6060,8 +6060,8 @@ func (x *fastReflection_GetNodeInfoResponse) Mutable(fd protoreflect.FieldDescri // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_GetNodeInfoResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info": - m := new(p2p.NodeInfo) + case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info": + m := new(p2p.DefaultNodeInfo) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version": m := new(VersionInfo) @@ -6135,8 +6135,8 @@ func (x *fastReflection_GetNodeInfoResponse) ProtoMethods() *protoiface.Methods var n int var l int _ = l - if x.NodeInfo != nil { - l = options.Size(x.NodeInfo) + if x.DefaultNodeInfo != nil { + l = options.Size(x.DefaultNodeInfo) n += 1 + l + runtime.Sov(uint64(l)) } if x.ApplicationVersion != nil { @@ -6186,8 +6186,8 @@ func (x *fastReflection_GetNodeInfoResponse) ProtoMethods() *protoiface.Methods i-- dAtA[i] = 0x12 } - if x.NodeInfo != nil { - encoded, err := options.Marshal(x.NodeInfo) + if x.DefaultNodeInfo != nil { + encoded, err := options.Marshal(x.DefaultNodeInfo) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -6251,7 +6251,7 @@ func (x *fastReflection_GetNodeInfoResponse) ProtoMethods() *protoiface.Methods switch fieldNum { case 1: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NodeInfo", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DefaultNodeInfo", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6278,10 +6278,10 @@ func (x *fastReflection_GetNodeInfoResponse) ProtoMethods() *protoiface.Methods if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.NodeInfo == nil { - x.NodeInfo = &p2p.NodeInfo{} + if x.DefaultNodeInfo == nil { + x.DefaultNodeInfo = &p2p.DefaultNodeInfo{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NodeInfo); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.DefaultNodeInfo); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex @@ -10911,8 +10911,8 @@ type GetNodeInfoResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeInfo *p2p.NodeInfo `protobuf:"bytes,1,opt,name=node_info,json=nodeInfo,proto3" json:"node_info,omitempty"` - ApplicationVersion *VersionInfo `protobuf:"bytes,2,opt,name=application_version,json=applicationVersion,proto3" json:"application_version,omitempty"` + DefaultNodeInfo *p2p.DefaultNodeInfo `protobuf:"bytes,1,opt,name=default_node_info,json=defaultNodeInfo,proto3" json:"default_node_info,omitempty"` + ApplicationVersion *VersionInfo `protobuf:"bytes,2,opt,name=application_version,json=applicationVersion,proto3" json:"application_version,omitempty"` } func (x *GetNodeInfoResponse) Reset() { @@ -10935,9 +10935,9 @@ func (*GetNodeInfoResponse) Descriptor() ([]byte, []int) { return file_cosmos_base_tendermint_v1beta1_query_proto_rawDescGZIP(), []int{12} } -func (x *GetNodeInfoResponse) GetNodeInfo() *p2p.NodeInfo { +func (x *GetNodeInfoResponse) GetDefaultNodeInfo() *p2p.DefaultNodeInfo { if x != nil { - return x.NodeInfo + return x.DefaultNodeInfo } return nil } @@ -11468,175 +11468,176 @@ var file_cosmos_base_tendermint_v1beta1_query_proto_rawDesc = []byte{ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x70, 0x32, 0x70, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x4b, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5c, 0x0a, 0x13, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x02, 0x0a, 0x0b, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, + 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x67, + 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x45, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x44, 0x65, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5f, 0x73, 0x64, 0x6b, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x53, 0x64, 0x6b, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x22, + 0x68, 0x0a, 0x10, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x11, 0x41, 0x42, + 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, + 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x4f, 0x70, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x43, 0x0a, 0x07, 0x50, 0x72, + 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x4b, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x03, 0x6f, + 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, + 0x70, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x32, 0xaf, 0x0a, 0x0a, + 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa4, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, + 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x12, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x02, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x70, 0x70, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x67, - 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x67, 0x6f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x29, 0x12, 0x27, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, + 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x73, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0xb6, 0x01, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x70, - 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5f, 0x73, 0x64, 0x6b, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x53, 0x64, 0x6b, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x48, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x68, 0x0a, 0x10, 0x41, 0x42, 0x43, - 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, - 0x05, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x11, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x45, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x22, 0x43, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x08, 0x50, 0x72, 0x6f, - 0x6f, 0x66, 0x4f, 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, - 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x4f, 0x70, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x32, 0xaf, 0x0a, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0xa9, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x74, 0x12, 0xbe, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, + 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0xa4, - 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, + 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, + 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, + 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, + 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x79, - 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x12, 0xb6, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, - 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, - 0x2d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, + 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, + 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, + 0x65, 0x74, 0x73, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xda, 0x01, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, + 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0xbe, - 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, - 0xd2, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x09, 0x41, 0x42, 0x43, 0x49, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x12, 0xda, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x3e, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, - 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x65, - 0x74, 0x42, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, - 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x09, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x62, - 0x63, 0x69, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x8e, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, - 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, - 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x43, 0x42, 0x54, 0xaa, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2a, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x42, 0x43, 0x49, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, + 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x61, 0x62, 0x63, 0x69, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x42, 0x8e, + 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, + 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, + 0x65, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x42, 0x54, 0xaa, 0x02, 0x1e, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x42, 0x61, 0x73, 0x65, 0x2e, 0x54, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, + 0x2a, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x42, 0x61, 0x73, 0x65, 0x5c, 0x54, 0x65, 0x6e, + 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x42, 0x61, 0x73, 0x65, 0x3a, 0x3a, 0x54, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -11678,7 +11679,7 @@ var file_cosmos_base_tendermint_v1beta1_query_proto_goTypes = []interface{}{ (*types.BlockID)(nil), // 22: tendermint.types.BlockID (*types.Block)(nil), // 23: tendermint.types.Block (*Block)(nil), // 24: cosmos.base.tendermint.v1beta1.Block - (*p2p.NodeInfo)(nil), // 25: tendermint.p2p.NodeInfo + (*p2p.DefaultNodeInfo)(nil), // 25: tendermint.p2p.DefaultNodeInfo } var file_cosmos_base_tendermint_v1beta1_query_proto_depIdxs = []int32{ 19, // 0: cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightRequest.pagination:type_name -> cosmos.base.query.v1beta1.PageRequest @@ -11694,7 +11695,7 @@ var file_cosmos_base_tendermint_v1beta1_query_proto_depIdxs = []int32{ 22, // 10: cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.block_id:type_name -> tendermint.types.BlockID 23, // 11: cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.block:type_name -> tendermint.types.Block 24, // 12: cosmos.base.tendermint.v1beta1.GetLatestBlockResponse.sdk_block:type_name -> cosmos.base.tendermint.v1beta1.Block - 25, // 13: cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.node_info:type_name -> tendermint.p2p.NodeInfo + 25, // 13: cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.default_node_info:type_name -> tendermint.p2p.DefaultNodeInfo 13, // 14: cosmos.base.tendermint.v1beta1.GetNodeInfoResponse.application_version:type_name -> cosmos.base.tendermint.v1beta1.VersionInfo 14, // 15: cosmos.base.tendermint.v1beta1.VersionInfo.build_deps:type_name -> cosmos.base.tendermint.v1beta1.Module 18, // 16: cosmos.base.tendermint.v1beta1.ABCIQueryResponse.proof_ops:type_name -> cosmos.base.tendermint.v1beta1.ProofOps diff --git a/api/cosmos/distribution/v1beta1/distribution.pulsar.go b/api/cosmos/distribution/v1beta1/distribution.pulsar.go index d544ac109105..201c326c2ae2 100644 --- a/api/cosmos/distribution/v1beta1/distribution.pulsar.go +++ b/api/cosmos/distribution/v1beta1/distribution.pulsar.go @@ -6958,6 +6958,13 @@ func (x *FeePool) GetCommunityPool() []*v1beta1.DecCoin { // CommunityPoolSpendProposal details a proposal for use of community funds, // together with how many coins are proposed to be spent, and to which // recipient account. +// +// Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no +// longer a need for an explicit CommunityPoolSpendProposal. To spend community +// pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov +// module via a v1 governance proposal. +// +// Deprecated: Do not use. type CommunityPoolSpendProposal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -7294,7 +7301,7 @@ var file_cosmos_distribution_v1beta1_distribution_proto_rawDesc = []byte{ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x83, 0x02, 0x0a, 0x1a, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x85, 0x02, 0x0a, 0x1a, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, @@ -7307,67 +7314,67 @@ var file_cosmos_distribution_v1beta1_distribution_proto_rawDesc = []byte{ 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x28, 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, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x2a, - 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0xca, 0xb4, 0x2d, 0x1a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x52, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 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, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6b, - 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x13, 0xea, 0xde, 0x1f, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd7, - 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x45, 0x0a, 0x11, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 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, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, - 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, - 0x6e, 0x42, 0x33, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x2b, 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, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, - 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x3a, 0x08, - 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x01, 0x22, 0xd7, 0x01, 0x0a, 0x25, 0x43, 0x6f, 0x6d, - 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x50, - 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, - 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x3a, 0x26, 0x88, 0xa0, 0x1f, 0x00, - 0x98, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, - 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, - 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x2c, + 0x18, 0x01, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0xca, 0xb4, + 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0xc1, 0x01, 0x0a, + 0x15, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x69, + 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0e, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, + 0x52, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6b, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 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, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x6b, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x13, 0xea, 0xde, 0x1f, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x22, 0xd7, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x45, + 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 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, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x69, 0x0a, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x43, + 0x6f, 0x69, 0x6e, 0x42, 0x33, 0xc8, 0xde, 0x1f, 0x00, 0xaa, 0xdf, 0x1f, 0x2b, 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, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x44, 0x65, 0x63, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x01, 0x22, 0xd7, 0x01, 0x0a, 0x25, 0x43, + 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, + 0x64, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x61, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x44, 0x65, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x3a, 0x26, 0x88, 0xa0, + 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x01, 0xca, 0xb4, 0x2d, 0x1a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x67, 0x6f, 0x76, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x42, 0x88, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x11, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, + 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/distribution/v1beta1/tx.pulsar.go b/api/cosmos/distribution/v1beta1/tx.pulsar.go index 7278b963e550..9edd76996df6 100644 --- a/api/cosmos/distribution/v1beta1/tx.pulsar.go +++ b/api/cosmos/distribution/v1beta1/tx.pulsar.go @@ -4517,6 +4517,984 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } } +var _ protoreflect.List = (*_MsgCommunityPoolSpend_3_list)(nil) + +type _MsgCommunityPoolSpend_3_list struct { + list *[]*v1beta1.Coin +} + +func (x *_MsgCommunityPoolSpend_3_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_MsgCommunityPoolSpend_3_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_MsgCommunityPoolSpend_3_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin) + (*x.list)[i] = concreteValue +} + +func (x *_MsgCommunityPoolSpend_3_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*v1beta1.Coin) + *x.list = append(*x.list, concreteValue) +} + +func (x *_MsgCommunityPoolSpend_3_list) AppendMutable() protoreflect.Value { + v := new(v1beta1.Coin) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCommunityPoolSpend_3_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_MsgCommunityPoolSpend_3_list) NewElement() protoreflect.Value { + v := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_MsgCommunityPoolSpend_3_list) IsValid() bool { + return x.list != nil +} + +var ( + md_MsgCommunityPoolSpend protoreflect.MessageDescriptor + fd_MsgCommunityPoolSpend_authority protoreflect.FieldDescriptor + fd_MsgCommunityPoolSpend_recipient protoreflect.FieldDescriptor + fd_MsgCommunityPoolSpend_amount protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_distribution_v1beta1_tx_proto_init() + md_MsgCommunityPoolSpend = File_cosmos_distribution_v1beta1_tx_proto.Messages().ByName("MsgCommunityPoolSpend") + fd_MsgCommunityPoolSpend_authority = md_MsgCommunityPoolSpend.Fields().ByName("authority") + fd_MsgCommunityPoolSpend_recipient = md_MsgCommunityPoolSpend.Fields().ByName("recipient") + fd_MsgCommunityPoolSpend_amount = md_MsgCommunityPoolSpend.Fields().ByName("amount") +} + +var _ protoreflect.Message = (*fastReflection_MsgCommunityPoolSpend)(nil) + +type fastReflection_MsgCommunityPoolSpend MsgCommunityPoolSpend + +func (x *MsgCommunityPoolSpend) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCommunityPoolSpend)(x) +} + +func (x *MsgCommunityPoolSpend) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_distribution_v1beta1_tx_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCommunityPoolSpend_messageType fastReflection_MsgCommunityPoolSpend_messageType +var _ protoreflect.MessageType = fastReflection_MsgCommunityPoolSpend_messageType{} + +type fastReflection_MsgCommunityPoolSpend_messageType struct{} + +func (x fastReflection_MsgCommunityPoolSpend_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCommunityPoolSpend)(nil) +} +func (x fastReflection_MsgCommunityPoolSpend_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCommunityPoolSpend) +} +func (x fastReflection_MsgCommunityPoolSpend_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCommunityPoolSpend +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCommunityPoolSpend) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCommunityPoolSpend +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCommunityPoolSpend) Type() protoreflect.MessageType { + return _fastReflection_MsgCommunityPoolSpend_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCommunityPoolSpend) New() protoreflect.Message { + return new(fastReflection_MsgCommunityPoolSpend) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCommunityPoolSpend) Interface() protoreflect.ProtoMessage { + return (*MsgCommunityPoolSpend)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCommunityPoolSpend) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Authority != "" { + value := protoreflect.ValueOfString(x.Authority) + if !f(fd_MsgCommunityPoolSpend_authority, value) { + return + } + } + if x.Recipient != "" { + value := protoreflect.ValueOfString(x.Recipient) + if !f(fd_MsgCommunityPoolSpend_recipient, value) { + return + } + } + if len(x.Amount) != 0 { + value := protoreflect.ValueOfList(&_MsgCommunityPoolSpend_3_list{list: &x.Amount}) + if !f(fd_MsgCommunityPoolSpend_amount, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCommunityPoolSpend) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + return x.Authority != "" + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + return x.Recipient != "" + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + return len(x.Amount) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpend) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + x.Authority = "" + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + x.Recipient = "" + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + x.Amount = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCommunityPoolSpend) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + value := x.Authority + return protoreflect.ValueOfString(value) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + value := x.Recipient + return protoreflect.ValueOfString(value) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + if len(x.Amount) == 0 { + return protoreflect.ValueOfList(&_MsgCommunityPoolSpend_3_list{}) + } + listValue := &_MsgCommunityPoolSpend_3_list{list: &x.Amount} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpend) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + x.Authority = value.Interface().(string) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + x.Recipient = value.Interface().(string) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + lv := value.List() + clv := lv.(*_MsgCommunityPoolSpend_3_list) + x.Amount = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpend) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + if x.Amount == nil { + x.Amount = []*v1beta1.Coin{} + } + value := &_MsgCommunityPoolSpend_3_list{list: &x.Amount} + return protoreflect.ValueOfList(value) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + panic(fmt.Errorf("field authority of message cosmos.distribution.v1beta1.MsgCommunityPoolSpend is not mutable")) + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + panic(fmt.Errorf("field recipient of message cosmos.distribution.v1beta1.MsgCommunityPoolSpend is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCommunityPoolSpend) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.authority": + return protoreflect.ValueOfString("") + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.recipient": + return protoreflect.ValueOfString("") + case "cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount": + list := []*v1beta1.Coin{} + return protoreflect.ValueOfList(&_MsgCommunityPoolSpend_3_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpend")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpend does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCommunityPoolSpend) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.distribution.v1beta1.MsgCommunityPoolSpend", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCommunityPoolSpend) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpend) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCommunityPoolSpend) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCommunityPoolSpend) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCommunityPoolSpend) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.Authority) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Recipient) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if len(x.Amount) > 0 { + for _, e := range x.Amount { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCommunityPoolSpend) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Amount) > 0 { + for iNdEx := len(x.Amount) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Amount[iNdEx]) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + } + if len(x.Recipient) > 0 { + i -= len(x.Recipient) + copy(dAtA[i:], x.Recipient) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Recipient))) + i-- + dAtA[i] = 0x12 + } + if len(x.Authority) > 0 { + i -= len(x.Authority) + copy(dAtA[i:], x.Authority) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Authority))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCommunityPoolSpend) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCommunityPoolSpend: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCommunityPoolSpend: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Authority", 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.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Recipient", 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.Recipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + 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++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + 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.Amount = append(x.Amount, &v1beta1.Coin{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Amount[len(x.Amount)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgCommunityPoolSpendResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_distribution_v1beta1_tx_proto_init() + md_MsgCommunityPoolSpendResponse = File_cosmos_distribution_v1beta1_tx_proto.Messages().ByName("MsgCommunityPoolSpendResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgCommunityPoolSpendResponse)(nil) + +type fastReflection_MsgCommunityPoolSpendResponse MsgCommunityPoolSpendResponse + +func (x *MsgCommunityPoolSpendResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgCommunityPoolSpendResponse)(x) +} + +func (x *MsgCommunityPoolSpendResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_distribution_v1beta1_tx_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgCommunityPoolSpendResponse_messageType fastReflection_MsgCommunityPoolSpendResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgCommunityPoolSpendResponse_messageType{} + +type fastReflection_MsgCommunityPoolSpendResponse_messageType struct{} + +func (x fastReflection_MsgCommunityPoolSpendResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgCommunityPoolSpendResponse)(nil) +} +func (x fastReflection_MsgCommunityPoolSpendResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgCommunityPoolSpendResponse) +} +func (x fastReflection_MsgCommunityPoolSpendResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCommunityPoolSpendResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgCommunityPoolSpendResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgCommunityPoolSpendResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgCommunityPoolSpendResponse) New() protoreflect.Message { + return new(fastReflection_MsgCommunityPoolSpendResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Interface() protoreflect.ProtoMessage { + return (*MsgCommunityPoolSpendResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpendResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgCommunityPoolSpendResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse")) + } + panic(fmt.Errorf("message cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgCommunityPoolSpendResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgCommunityPoolSpendResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgCommunityPoolSpendResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgCommunityPoolSpendResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgCommunityPoolSpendResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgCommunityPoolSpendResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgCommunityPoolSpendResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgCommunityPoolSpendResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire 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++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCommunityPoolSpendResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgCommunityPoolSpendResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -4575,7 +5553,8 @@ func (x *MsgSetWithdrawAddress) GetWithdrawAddress() string { return "" } -// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type. +// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response +// type. type MsgSetWithdrawAddressResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4647,7 +5626,8 @@ func (x *MsgWithdrawDelegatorReward) GetValidatorAddress() string { return "" } -// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type. +// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward +// response type. type MsgWithdrawDelegatorRewardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4721,7 +5701,8 @@ func (x *MsgWithdrawValidatorCommission) GetValidatorAddress() string { return "" } -// MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type. +// MsgWithdrawValidatorCommissionResponse defines the +// Msg/WithdrawValidatorCommission response type. type MsgWithdrawValidatorCommissionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4910,6 +5891,93 @@ func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { return file_cosmos_distribution_v1beta1_tx_proto_rawDescGZIP(), []int{9} } +// MsgCommunityPoolSpend defines a message for sending tokens from the community +// pool to another account. This message is typically executed via a governance +// proposal with the governance module being the executing authority. +// +// Since: cosmos-sdk 0.47 +type MsgCommunityPoolSpend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Recipient string `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + Amount []*v1beta1.Coin `protobuf:"bytes,3,rep,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *MsgCommunityPoolSpend) Reset() { + *x = MsgCommunityPoolSpend{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_distribution_v1beta1_tx_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCommunityPoolSpend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCommunityPoolSpend) ProtoMessage() {} + +// Deprecated: Use MsgCommunityPoolSpend.ProtoReflect.Descriptor instead. +func (*MsgCommunityPoolSpend) Descriptor() ([]byte, []int) { + return file_cosmos_distribution_v1beta1_tx_proto_rawDescGZIP(), []int{10} +} + +func (x *MsgCommunityPoolSpend) GetAuthority() string { + if x != nil { + return x.Authority + } + return "" +} + +func (x *MsgCommunityPoolSpend) GetRecipient() string { + if x != nil { + return x.Recipient + } + return "" +} + +func (x *MsgCommunityPoolSpend) GetAmount() []*v1beta1.Coin { + if x != nil { + return x.Amount + } + return nil +} + +// MsgCommunityPoolSpendResponse defines the response to executing a +// MsgCommunityPoolSpend message. +// +// Since: cosmos-sdk 0.47 +type MsgCommunityPoolSpendResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgCommunityPoolSpendResponse) Reset() { + *x = MsgCommunityPoolSpendResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_distribution_v1beta1_tx_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgCommunityPoolSpendResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgCommunityPoolSpendResponse) ProtoMessage() {} + +// Deprecated: Use MsgCommunityPoolSpendResponse.ProtoReflect.Descriptor instead. +func (*MsgCommunityPoolSpendResponse) Descriptor() ([]byte, []int) { + return file_cosmos_distribution_v1beta1_tx_proto_rawDescGZIP(), []int{11} +} + var File_cosmos_distribution_v1beta1_tx_proto protoreflect.FileDescriptor var file_cosmos_distribution_v1beta1_tx_proto_rawDesc = []byte{ @@ -5006,68 +6074,93 @@ var file_cosmos_distribution_v1beta1_tx_proto_rawDesc = []byte{ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, - 0xbc, 0x05, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x84, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, - 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x1a, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, - 0x01, 0x0a, 0x17, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xe2, 0x01, 0x0a, 0x15, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 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, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x12, + 0x63, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x30, 0xc8, 0xde, 0x1f, 0x00, + 0xaa, 0xdf, 0x1f, 0x28, 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, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x0e, 0x82, 0xe7, 0xb0, 0x2a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x22, 0x1f, 0x0a, 0x1d, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc3, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x84, 0x01, + 0x0a, 0x12, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x1a, 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x74, 0x57, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x17, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x37, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x1a, 0x3f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x1b, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x64, 0x72, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x43, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x1a, 0x43, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, 0x43, - 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x31, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x75, - 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x1a, - 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, + 0x11, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6f, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x1a, 0x39, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, + 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x72, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x2c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x34, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0x12, 0x84, 0x01, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x6f, 0x6d, + 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x1a, + 0x3a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2c, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 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, 0xfe, - 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x43, 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xe2, 0x02, 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x70, + 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xfe, 0x01, 0x0a, 0x1f, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, + 0x44, 0x58, 0xaa, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x1b, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, + 0x27, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x3a, 0x3a, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -5082,7 +6175,7 @@ func file_cosmos_distribution_v1beta1_tx_proto_rawDescGZIP() []byte { return file_cosmos_distribution_v1beta1_tx_proto_rawDescData } -var file_cosmos_distribution_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_cosmos_distribution_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_cosmos_distribution_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgSetWithdrawAddress)(nil), // 0: cosmos.distribution.v1beta1.MsgSetWithdrawAddress (*MsgSetWithdrawAddressResponse)(nil), // 1: cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse @@ -5094,29 +6187,34 @@ var file_cosmos_distribution_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgFundCommunityPoolResponse)(nil), // 7: cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse (*MsgUpdateParams)(nil), // 8: cosmos.distribution.v1beta1.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 9: cosmos.distribution.v1beta1.MsgUpdateParamsResponse - (*v1beta1.Coin)(nil), // 10: cosmos.base.v1beta1.Coin - (*Params)(nil), // 11: cosmos.distribution.v1beta1.Params + (*MsgCommunityPoolSpend)(nil), // 10: cosmos.distribution.v1beta1.MsgCommunityPoolSpend + (*MsgCommunityPoolSpendResponse)(nil), // 11: cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse + (*v1beta1.Coin)(nil), // 12: cosmos.base.v1beta1.Coin + (*Params)(nil), // 13: cosmos.distribution.v1beta1.Params } var file_cosmos_distribution_v1beta1_tx_proto_depIdxs = []int32{ - 10, // 0: cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 10, // 1: cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 10, // 2: cosmos.distribution.v1beta1.MsgFundCommunityPool.amount:type_name -> cosmos.base.v1beta1.Coin - 11, // 3: cosmos.distribution.v1beta1.MsgUpdateParams.params:type_name -> cosmos.distribution.v1beta1.Params - 0, // 4: cosmos.distribution.v1beta1.Msg.SetWithdrawAddress:input_type -> cosmos.distribution.v1beta1.MsgSetWithdrawAddress - 2, // 5: cosmos.distribution.v1beta1.Msg.WithdrawDelegatorReward:input_type -> cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward - 4, // 6: cosmos.distribution.v1beta1.Msg.WithdrawValidatorCommission:input_type -> cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission - 6, // 7: cosmos.distribution.v1beta1.Msg.FundCommunityPool:input_type -> cosmos.distribution.v1beta1.MsgFundCommunityPool - 8, // 8: cosmos.distribution.v1beta1.Msg.UpdateParams:input_type -> cosmos.distribution.v1beta1.MsgUpdateParams - 1, // 9: cosmos.distribution.v1beta1.Msg.SetWithdrawAddress:output_type -> cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse - 3, // 10: cosmos.distribution.v1beta1.Msg.WithdrawDelegatorReward:output_type -> cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse - 5, // 11: cosmos.distribution.v1beta1.Msg.WithdrawValidatorCommission:output_type -> cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse - 7, // 12: cosmos.distribution.v1beta1.Msg.FundCommunityPool:output_type -> cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse - 9, // 13: cosmos.distribution.v1beta1.Msg.UpdateParams:output_type -> cosmos.distribution.v1beta1.MsgUpdateParamsResponse - 9, // [9:14] is the sub-list for method output_type - 4, // [4:9] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 12, // 0: cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 12, // 1: cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 12, // 2: cosmos.distribution.v1beta1.MsgFundCommunityPool.amount:type_name -> cosmos.base.v1beta1.Coin + 13, // 3: cosmos.distribution.v1beta1.MsgUpdateParams.params:type_name -> cosmos.distribution.v1beta1.Params + 12, // 4: cosmos.distribution.v1beta1.MsgCommunityPoolSpend.amount:type_name -> cosmos.base.v1beta1.Coin + 0, // 5: cosmos.distribution.v1beta1.Msg.SetWithdrawAddress:input_type -> cosmos.distribution.v1beta1.MsgSetWithdrawAddress + 2, // 6: cosmos.distribution.v1beta1.Msg.WithdrawDelegatorReward:input_type -> cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward + 4, // 7: cosmos.distribution.v1beta1.Msg.WithdrawValidatorCommission:input_type -> cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission + 6, // 8: cosmos.distribution.v1beta1.Msg.FundCommunityPool:input_type -> cosmos.distribution.v1beta1.MsgFundCommunityPool + 8, // 9: cosmos.distribution.v1beta1.Msg.UpdateParams:input_type -> cosmos.distribution.v1beta1.MsgUpdateParams + 10, // 10: cosmos.distribution.v1beta1.Msg.CommunityPoolSpend:input_type -> cosmos.distribution.v1beta1.MsgCommunityPoolSpend + 1, // 11: cosmos.distribution.v1beta1.Msg.SetWithdrawAddress:output_type -> cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse + 3, // 12: cosmos.distribution.v1beta1.Msg.WithdrawDelegatorReward:output_type -> cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse + 5, // 13: cosmos.distribution.v1beta1.Msg.WithdrawValidatorCommission:output_type -> cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse + 7, // 14: cosmos.distribution.v1beta1.Msg.FundCommunityPool:output_type -> cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse + 9, // 15: cosmos.distribution.v1beta1.Msg.UpdateParams:output_type -> cosmos.distribution.v1beta1.MsgUpdateParamsResponse + 11, // 16: cosmos.distribution.v1beta1.Msg.CommunityPoolSpend:output_type -> cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse + 11, // [11:17] is the sub-list for method output_type + 5, // [5:11] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_cosmos_distribution_v1beta1_tx_proto_init() } @@ -5246,6 +6344,30 @@ func file_cosmos_distribution_v1beta1_tx_proto_init() { return nil } } + file_cosmos_distribution_v1beta1_tx_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCommunityPoolSpend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_distribution_v1beta1_tx_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgCommunityPoolSpendResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -5253,7 +6375,7 @@ func file_cosmos_distribution_v1beta1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_distribution_v1beta1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 10, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cosmos/distribution/v1beta1/tx_grpc.pb.go b/api/cosmos/distribution/v1beta1/tx_grpc.pb.go index d94242df65bc..8d1e6bca0f9a 100644 --- a/api/cosmos/distribution/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/distribution/v1beta1/tx_grpc.pb.go @@ -34,11 +34,18 @@ type MsgClient interface { // FundCommunityPool defines a method to allow an account to directly // fund the community pool. FundCommunityPool(ctx context.Context, in *MsgFundCommunityPool, opts ...grpc.CallOption) (*MsgFundCommunityPoolResponse, error) - // UpdateParams defines a governance operation for updating the x/distribution module - // parameters. The authority is defined in the keeper. + // UpdateParams defines a governance operation for updating the x/distribution + // module parameters. The authority is defined in the keeper. // // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + // CommunityPoolSpend defines a governance operation for sending tokens from + // the community pool in the x/distribution module to another account, which + // could be the governance module itself. The authority is defined in the + // keeper. + // + // Since: cosmos-sdk 0.47 + CommunityPoolSpend(ctx context.Context, in *MsgCommunityPoolSpend, opts ...grpc.CallOption) (*MsgCommunityPoolSpendResponse, error) } type msgClient struct { @@ -94,6 +101,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) CommunityPoolSpend(ctx context.Context, in *MsgCommunityPoolSpend, opts ...grpc.CallOption) (*MsgCommunityPoolSpendResponse, error) { + out := new(MsgCommunityPoolSpendResponse) + err := c.cc.Invoke(ctx, "/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -110,11 +126,18 @@ type MsgServer interface { // FundCommunityPool defines a method to allow an account to directly // fund the community pool. FundCommunityPool(context.Context, *MsgFundCommunityPool) (*MsgFundCommunityPoolResponse, error) - // UpdateParams defines a governance operation for updating the x/distribution module - // parameters. The authority is defined in the keeper. + // UpdateParams defines a governance operation for updating the x/distribution + // module parameters. The authority is defined in the keeper. // // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // CommunityPoolSpend defines a governance operation for sending tokens from + // the community pool in the x/distribution module to another account, which + // could be the governance module itself. The authority is defined in the + // keeper. + // + // Since: cosmos-sdk 0.47 + CommunityPoolSpend(context.Context, *MsgCommunityPoolSpend) (*MsgCommunityPoolSpendResponse, error) mustEmbedUnimplementedMsgServer() } @@ -137,6 +160,9 @@ func (UnimplementedMsgServer) FundCommunityPool(context.Context, *MsgFundCommuni func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (UnimplementedMsgServer) CommunityPoolSpend(context.Context, *MsgCommunityPoolSpend) (*MsgCommunityPoolSpendResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CommunityPoolSpend not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -240,6 +266,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_CommunityPoolSpend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCommunityPoolSpend) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CommunityPoolSpend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CommunityPoolSpend(ctx, req.(*MsgCommunityPoolSpend)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -267,6 +311,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "CommunityPoolSpend", + Handler: _Msg_CommunityPoolSpend_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/distribution/v1beta1/tx.proto", diff --git a/api/tendermint/p2p/types.pulsar.go b/api/tendermint/p2p/types.pulsar.go index 43e74c353091..7b6e113bc32b 100644 --- a/api/tendermint/p2p/types.pulsar.go +++ b/api/tendermint/p2p/types.pulsar.go @@ -8,7 +8,7 @@ import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" + _ "google.golang.org/protobuf/types/known/timestamppb" io "io" reflect "reflect" sync "sync" @@ -515,39 +515,39 @@ func (x *fastReflection_ProtocolVersion) ProtoMethods() *protoiface.Methods { } var ( - md_NodeInfo protoreflect.MessageDescriptor - fd_NodeInfo_protocol_version protoreflect.FieldDescriptor - fd_NodeInfo_node_id protoreflect.FieldDescriptor - fd_NodeInfo_listen_addr protoreflect.FieldDescriptor - fd_NodeInfo_network protoreflect.FieldDescriptor - fd_NodeInfo_version protoreflect.FieldDescriptor - fd_NodeInfo_channels protoreflect.FieldDescriptor - fd_NodeInfo_moniker protoreflect.FieldDescriptor - fd_NodeInfo_other protoreflect.FieldDescriptor + md_DefaultNodeInfo protoreflect.MessageDescriptor + fd_DefaultNodeInfo_protocol_version protoreflect.FieldDescriptor + fd_DefaultNodeInfo_default_node_id protoreflect.FieldDescriptor + fd_DefaultNodeInfo_listen_addr protoreflect.FieldDescriptor + fd_DefaultNodeInfo_network protoreflect.FieldDescriptor + fd_DefaultNodeInfo_version protoreflect.FieldDescriptor + fd_DefaultNodeInfo_channels protoreflect.FieldDescriptor + fd_DefaultNodeInfo_moniker protoreflect.FieldDescriptor + fd_DefaultNodeInfo_other protoreflect.FieldDescriptor ) func init() { file_tendermint_p2p_types_proto_init() - md_NodeInfo = File_tendermint_p2p_types_proto.Messages().ByName("NodeInfo") - fd_NodeInfo_protocol_version = md_NodeInfo.Fields().ByName("protocol_version") - fd_NodeInfo_node_id = md_NodeInfo.Fields().ByName("node_id") - fd_NodeInfo_listen_addr = md_NodeInfo.Fields().ByName("listen_addr") - fd_NodeInfo_network = md_NodeInfo.Fields().ByName("network") - fd_NodeInfo_version = md_NodeInfo.Fields().ByName("version") - fd_NodeInfo_channels = md_NodeInfo.Fields().ByName("channels") - fd_NodeInfo_moniker = md_NodeInfo.Fields().ByName("moniker") - fd_NodeInfo_other = md_NodeInfo.Fields().ByName("other") + md_DefaultNodeInfo = File_tendermint_p2p_types_proto.Messages().ByName("DefaultNodeInfo") + fd_DefaultNodeInfo_protocol_version = md_DefaultNodeInfo.Fields().ByName("protocol_version") + fd_DefaultNodeInfo_default_node_id = md_DefaultNodeInfo.Fields().ByName("default_node_id") + fd_DefaultNodeInfo_listen_addr = md_DefaultNodeInfo.Fields().ByName("listen_addr") + fd_DefaultNodeInfo_network = md_DefaultNodeInfo.Fields().ByName("network") + fd_DefaultNodeInfo_version = md_DefaultNodeInfo.Fields().ByName("version") + fd_DefaultNodeInfo_channels = md_DefaultNodeInfo.Fields().ByName("channels") + fd_DefaultNodeInfo_moniker = md_DefaultNodeInfo.Fields().ByName("moniker") + fd_DefaultNodeInfo_other = md_DefaultNodeInfo.Fields().ByName("other") } -var _ protoreflect.Message = (*fastReflection_NodeInfo)(nil) +var _ protoreflect.Message = (*fastReflection_DefaultNodeInfo)(nil) -type fastReflection_NodeInfo NodeInfo +type fastReflection_DefaultNodeInfo DefaultNodeInfo -func (x *NodeInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_NodeInfo)(x) +func (x *DefaultNodeInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_DefaultNodeInfo)(x) } -func (x *NodeInfo) slowProtoReflect() protoreflect.Message { +func (x *DefaultNodeInfo) slowProtoReflect() protoreflect.Message { mi := &file_tendermint_p2p_types_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -559,43 +559,43 @@ func (x *NodeInfo) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_NodeInfo_messageType fastReflection_NodeInfo_messageType -var _ protoreflect.MessageType = fastReflection_NodeInfo_messageType{} +var _fastReflection_DefaultNodeInfo_messageType fastReflection_DefaultNodeInfo_messageType +var _ protoreflect.MessageType = fastReflection_DefaultNodeInfo_messageType{} -type fastReflection_NodeInfo_messageType struct{} +type fastReflection_DefaultNodeInfo_messageType struct{} -func (x fastReflection_NodeInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_NodeInfo)(nil) +func (x fastReflection_DefaultNodeInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_DefaultNodeInfo)(nil) } -func (x fastReflection_NodeInfo_messageType) New() protoreflect.Message { - return new(fastReflection_NodeInfo) +func (x fastReflection_DefaultNodeInfo_messageType) New() protoreflect.Message { + return new(fastReflection_DefaultNodeInfo) } -func (x fastReflection_NodeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_NodeInfo +func (x fastReflection_DefaultNodeInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_DefaultNodeInfo } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_NodeInfo) Descriptor() protoreflect.MessageDescriptor { - return md_NodeInfo +func (x *fastReflection_DefaultNodeInfo) Descriptor() protoreflect.MessageDescriptor { + return md_DefaultNodeInfo } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_NodeInfo) Type() protoreflect.MessageType { - return _fastReflection_NodeInfo_messageType +func (x *fastReflection_DefaultNodeInfo) Type() protoreflect.MessageType { + return _fastReflection_DefaultNodeInfo_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_NodeInfo) New() protoreflect.Message { - return new(fastReflection_NodeInfo) +func (x *fastReflection_DefaultNodeInfo) New() protoreflect.Message { + return new(fastReflection_DefaultNodeInfo) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_NodeInfo) Interface() protoreflect.ProtoMessage { - return (*NodeInfo)(x) +func (x *fastReflection_DefaultNodeInfo) Interface() protoreflect.ProtoMessage { + return (*DefaultNodeInfo)(x) } // Range iterates over every populated field in an undefined order, @@ -603,52 +603,52 @@ func (x *fastReflection_NodeInfo) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_NodeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_DefaultNodeInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.ProtocolVersion != nil { value := protoreflect.ValueOfMessage(x.ProtocolVersion.ProtoReflect()) - if !f(fd_NodeInfo_protocol_version, value) { + if !f(fd_DefaultNodeInfo_protocol_version, value) { return } } - if x.NodeId != "" { - value := protoreflect.ValueOfString(x.NodeId) - if !f(fd_NodeInfo_node_id, value) { + if x.DefaultNodeId != "" { + value := protoreflect.ValueOfString(x.DefaultNodeId) + if !f(fd_DefaultNodeInfo_default_node_id, value) { return } } if x.ListenAddr != "" { value := protoreflect.ValueOfString(x.ListenAddr) - if !f(fd_NodeInfo_listen_addr, value) { + if !f(fd_DefaultNodeInfo_listen_addr, value) { return } } if x.Network != "" { value := protoreflect.ValueOfString(x.Network) - if !f(fd_NodeInfo_network, value) { + if !f(fd_DefaultNodeInfo_network, value) { return } } if x.Version != "" { value := protoreflect.ValueOfString(x.Version) - if !f(fd_NodeInfo_version, value) { + if !f(fd_DefaultNodeInfo_version, value) { return } } if len(x.Channels) != 0 { value := protoreflect.ValueOfBytes(x.Channels) - if !f(fd_NodeInfo_channels, value) { + if !f(fd_DefaultNodeInfo_channels, value) { return } } if x.Moniker != "" { value := protoreflect.ValueOfString(x.Moniker) - if !f(fd_NodeInfo_moniker, value) { + if !f(fd_DefaultNodeInfo_moniker, value) { return } } if x.Other != nil { value := protoreflect.ValueOfMessage(x.Other.ProtoReflect()) - if !f(fd_NodeInfo_other, value) { + if !f(fd_DefaultNodeInfo_other, value) { return } } @@ -665,29 +665,29 @@ func (x *fastReflection_NodeInfo) Range(f func(protoreflect.FieldDescriptor, pro // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_NodeInfo) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_DefaultNodeInfo) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": return x.ProtocolVersion != nil - case "tendermint.p2p.NodeInfo.node_id": - return x.NodeId != "" - case "tendermint.p2p.NodeInfo.listen_addr": + case "tendermint.p2p.DefaultNodeInfo.default_node_id": + return x.DefaultNodeId != "" + case "tendermint.p2p.DefaultNodeInfo.listen_addr": return x.ListenAddr != "" - case "tendermint.p2p.NodeInfo.network": + case "tendermint.p2p.DefaultNodeInfo.network": return x.Network != "" - case "tendermint.p2p.NodeInfo.version": + case "tendermint.p2p.DefaultNodeInfo.version": return x.Version != "" - case "tendermint.p2p.NodeInfo.channels": + case "tendermint.p2p.DefaultNodeInfo.channels": return len(x.Channels) != 0 - case "tendermint.p2p.NodeInfo.moniker": + case "tendermint.p2p.DefaultNodeInfo.moniker": return x.Moniker != "" - case "tendermint.p2p.NodeInfo.other": + case "tendermint.p2p.DefaultNodeInfo.other": return x.Other != nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", fd.FullName())) } } @@ -697,29 +697,29 @@ func (x *fastReflection_NodeInfo) Has(fd protoreflect.FieldDescriptor) bool { // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfo) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_DefaultNodeInfo) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": x.ProtocolVersion = nil - case "tendermint.p2p.NodeInfo.node_id": - x.NodeId = "" - case "tendermint.p2p.NodeInfo.listen_addr": + case "tendermint.p2p.DefaultNodeInfo.default_node_id": + x.DefaultNodeId = "" + case "tendermint.p2p.DefaultNodeInfo.listen_addr": x.ListenAddr = "" - case "tendermint.p2p.NodeInfo.network": + case "tendermint.p2p.DefaultNodeInfo.network": x.Network = "" - case "tendermint.p2p.NodeInfo.version": + case "tendermint.p2p.DefaultNodeInfo.version": x.Version = "" - case "tendermint.p2p.NodeInfo.channels": + case "tendermint.p2p.DefaultNodeInfo.channels": x.Channels = nil - case "tendermint.p2p.NodeInfo.moniker": + case "tendermint.p2p.DefaultNodeInfo.moniker": x.Moniker = "" - case "tendermint.p2p.NodeInfo.other": + case "tendermint.p2p.DefaultNodeInfo.other": x.Other = nil default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", fd.FullName())) } } @@ -729,37 +729,37 @@ func (x *fastReflection_NodeInfo) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_NodeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": value := x.ProtocolVersion return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "tendermint.p2p.NodeInfo.node_id": - value := x.NodeId + case "tendermint.p2p.DefaultNodeInfo.default_node_id": + value := x.DefaultNodeId return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfo.listen_addr": + case "tendermint.p2p.DefaultNodeInfo.listen_addr": value := x.ListenAddr return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfo.network": + case "tendermint.p2p.DefaultNodeInfo.network": value := x.Network return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfo.version": + case "tendermint.p2p.DefaultNodeInfo.version": value := x.Version return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfo.channels": + case "tendermint.p2p.DefaultNodeInfo.channels": value := x.Channels return protoreflect.ValueOfBytes(value) - case "tendermint.p2p.NodeInfo.moniker": + case "tendermint.p2p.DefaultNodeInfo.moniker": value := x.Moniker return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfo.other": + case "tendermint.p2p.DefaultNodeInfo.other": value := x.Other return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", descriptor.FullName())) } } @@ -773,29 +773,29 @@ func (x *fastReflection_NodeInfo) Get(descriptor protoreflect.FieldDescriptor) p // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_DefaultNodeInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": x.ProtocolVersion = value.Message().Interface().(*ProtocolVersion) - case "tendermint.p2p.NodeInfo.node_id": - x.NodeId = value.Interface().(string) - case "tendermint.p2p.NodeInfo.listen_addr": + case "tendermint.p2p.DefaultNodeInfo.default_node_id": + x.DefaultNodeId = value.Interface().(string) + case "tendermint.p2p.DefaultNodeInfo.listen_addr": x.ListenAddr = value.Interface().(string) - case "tendermint.p2p.NodeInfo.network": + case "tendermint.p2p.DefaultNodeInfo.network": x.Network = value.Interface().(string) - case "tendermint.p2p.NodeInfo.version": + case "tendermint.p2p.DefaultNodeInfo.version": x.Version = value.Interface().(string) - case "tendermint.p2p.NodeInfo.channels": + case "tendermint.p2p.DefaultNodeInfo.channels": x.Channels = value.Bytes() - case "tendermint.p2p.NodeInfo.moniker": + case "tendermint.p2p.DefaultNodeInfo.moniker": x.Moniker = value.Interface().(string) - case "tendermint.p2p.NodeInfo.other": - x.Other = value.Message().Interface().(*NodeInfoOther) + case "tendermint.p2p.DefaultNodeInfo.other": + x.Other = value.Message().Interface().(*DefaultNodeInfoOther) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", fd.FullName())) } } @@ -809,76 +809,76 @@ func (x *fastReflection_NodeInfo) Set(fd protoreflect.FieldDescriptor, value pro // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": if x.ProtocolVersion == nil { x.ProtocolVersion = new(ProtocolVersion) } return protoreflect.ValueOfMessage(x.ProtocolVersion.ProtoReflect()) - case "tendermint.p2p.NodeInfo.other": + case "tendermint.p2p.DefaultNodeInfo.other": if x.Other == nil { - x.Other = new(NodeInfoOther) + x.Other = new(DefaultNodeInfoOther) } return protoreflect.ValueOfMessage(x.Other.ProtoReflect()) - case "tendermint.p2p.NodeInfo.node_id": - panic(fmt.Errorf("field node_id of message tendermint.p2p.NodeInfo is not mutable")) - case "tendermint.p2p.NodeInfo.listen_addr": - panic(fmt.Errorf("field listen_addr of message tendermint.p2p.NodeInfo is not mutable")) - case "tendermint.p2p.NodeInfo.network": - panic(fmt.Errorf("field network of message tendermint.p2p.NodeInfo is not mutable")) - case "tendermint.p2p.NodeInfo.version": - panic(fmt.Errorf("field version of message tendermint.p2p.NodeInfo is not mutable")) - case "tendermint.p2p.NodeInfo.channels": - panic(fmt.Errorf("field channels of message tendermint.p2p.NodeInfo is not mutable")) - case "tendermint.p2p.NodeInfo.moniker": - panic(fmt.Errorf("field moniker of message tendermint.p2p.NodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.default_node_id": + panic(fmt.Errorf("field default_node_id of message tendermint.p2p.DefaultNodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.listen_addr": + panic(fmt.Errorf("field listen_addr of message tendermint.p2p.DefaultNodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.network": + panic(fmt.Errorf("field network of message tendermint.p2p.DefaultNodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.version": + panic(fmt.Errorf("field version of message tendermint.p2p.DefaultNodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.channels": + panic(fmt.Errorf("field channels of message tendermint.p2p.DefaultNodeInfo is not mutable")) + case "tendermint.p2p.DefaultNodeInfo.moniker": + panic(fmt.Errorf("field moniker of message tendermint.p2p.DefaultNodeInfo is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_NodeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "tendermint.p2p.NodeInfo.protocol_version": + case "tendermint.p2p.DefaultNodeInfo.protocol_version": m := new(ProtocolVersion) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "tendermint.p2p.NodeInfo.node_id": + case "tendermint.p2p.DefaultNodeInfo.default_node_id": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfo.listen_addr": + case "tendermint.p2p.DefaultNodeInfo.listen_addr": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfo.network": + case "tendermint.p2p.DefaultNodeInfo.network": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfo.version": + case "tendermint.p2p.DefaultNodeInfo.version": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfo.channels": + case "tendermint.p2p.DefaultNodeInfo.channels": return protoreflect.ValueOfBytes(nil) - case "tendermint.p2p.NodeInfo.moniker": + case "tendermint.p2p.DefaultNodeInfo.moniker": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfo.other": - m := new(NodeInfoOther) + case "tendermint.p2p.DefaultNodeInfo.other": + m := new(DefaultNodeInfoOther) return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfo")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfo")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfo does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfo does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_NodeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_DefaultNodeInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.NodeInfo", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.DefaultNodeInfo", d.FullName())) } panic("unreachable") } @@ -886,7 +886,7 @@ func (x *fastReflection_NodeInfo) WhichOneof(d protoreflect.OneofDescriptor) pro // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_NodeInfo) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_DefaultNodeInfo) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -897,7 +897,7 @@ func (x *fastReflection_NodeInfo) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfo) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_DefaultNodeInfo) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -909,7 +909,7 @@ func (x *fastReflection_NodeInfo) SetUnknown(fields protoreflect.RawFields) { // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_NodeInfo) IsValid() bool { +func (x *fastReflection_DefaultNodeInfo) IsValid() bool { return x != nil } @@ -919,9 +919,9 @@ func (x *fastReflection_NodeInfo) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_DefaultNodeInfo) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*NodeInfo) + x := input.Message.Interface().(*DefaultNodeInfo) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -937,7 +937,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { l = options.Size(x.ProtocolVersion) n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.NodeId) + l = len(x.DefaultNodeId) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -975,7 +975,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*NodeInfo) + x := input.Message.Interface().(*DefaultNodeInfo) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1043,10 +1043,10 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1a } - if len(x.NodeId) > 0 { - i -= len(x.NodeId) - copy(dAtA[i:], x.NodeId) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.NodeId))) + if len(x.DefaultNodeId) > 0 { + i -= len(x.DefaultNodeId) + copy(dAtA[i:], x.DefaultNodeId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DefaultNodeId))) i-- dAtA[i] = 0x12 } @@ -1075,7 +1075,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*NodeInfo) + x := input.Message.Interface().(*DefaultNodeInfo) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1107,10 +1107,10 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: NodeInfo: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: DefaultNodeInfo: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: NodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: DefaultNodeInfo: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1151,7 +1151,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { iNdEx = postIndex case 2: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NodeId", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DefaultNodeId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -1179,7 +1179,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.NodeId = string(dAtA[iNdEx:postIndex]) + x.DefaultNodeId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -1373,7 +1373,7 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } if x.Other == nil { - x.Other = &NodeInfoOther{} + x.Other = &DefaultNodeInfoOther{} } if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Other); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err @@ -1415,27 +1415,27 @@ func (x *fastReflection_NodeInfo) ProtoMethods() *protoiface.Methods { } var ( - md_NodeInfoOther protoreflect.MessageDescriptor - fd_NodeInfoOther_tx_index protoreflect.FieldDescriptor - fd_NodeInfoOther_rpc_address protoreflect.FieldDescriptor + md_DefaultNodeInfoOther protoreflect.MessageDescriptor + fd_DefaultNodeInfoOther_tx_index protoreflect.FieldDescriptor + fd_DefaultNodeInfoOther_rpc_address protoreflect.FieldDescriptor ) func init() { file_tendermint_p2p_types_proto_init() - md_NodeInfoOther = File_tendermint_p2p_types_proto.Messages().ByName("NodeInfoOther") - fd_NodeInfoOther_tx_index = md_NodeInfoOther.Fields().ByName("tx_index") - fd_NodeInfoOther_rpc_address = md_NodeInfoOther.Fields().ByName("rpc_address") + md_DefaultNodeInfoOther = File_tendermint_p2p_types_proto.Messages().ByName("DefaultNodeInfoOther") + fd_DefaultNodeInfoOther_tx_index = md_DefaultNodeInfoOther.Fields().ByName("tx_index") + fd_DefaultNodeInfoOther_rpc_address = md_DefaultNodeInfoOther.Fields().ByName("rpc_address") } -var _ protoreflect.Message = (*fastReflection_NodeInfoOther)(nil) +var _ protoreflect.Message = (*fastReflection_DefaultNodeInfoOther)(nil) -type fastReflection_NodeInfoOther NodeInfoOther +type fastReflection_DefaultNodeInfoOther DefaultNodeInfoOther -func (x *NodeInfoOther) ProtoReflect() protoreflect.Message { - return (*fastReflection_NodeInfoOther)(x) +func (x *DefaultNodeInfoOther) ProtoReflect() protoreflect.Message { + return (*fastReflection_DefaultNodeInfoOther)(x) } -func (x *NodeInfoOther) slowProtoReflect() protoreflect.Message { +func (x *DefaultNodeInfoOther) slowProtoReflect() protoreflect.Message { mi := &file_tendermint_p2p_types_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -1447,43 +1447,43 @@ func (x *NodeInfoOther) slowProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -var _fastReflection_NodeInfoOther_messageType fastReflection_NodeInfoOther_messageType -var _ protoreflect.MessageType = fastReflection_NodeInfoOther_messageType{} +var _fastReflection_DefaultNodeInfoOther_messageType fastReflection_DefaultNodeInfoOther_messageType +var _ protoreflect.MessageType = fastReflection_DefaultNodeInfoOther_messageType{} -type fastReflection_NodeInfoOther_messageType struct{} +type fastReflection_DefaultNodeInfoOther_messageType struct{} -func (x fastReflection_NodeInfoOther_messageType) Zero() protoreflect.Message { - return (*fastReflection_NodeInfoOther)(nil) +func (x fastReflection_DefaultNodeInfoOther_messageType) Zero() protoreflect.Message { + return (*fastReflection_DefaultNodeInfoOther)(nil) } -func (x fastReflection_NodeInfoOther_messageType) New() protoreflect.Message { - return new(fastReflection_NodeInfoOther) +func (x fastReflection_DefaultNodeInfoOther_messageType) New() protoreflect.Message { + return new(fastReflection_DefaultNodeInfoOther) } -func (x fastReflection_NodeInfoOther_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_NodeInfoOther +func (x fastReflection_DefaultNodeInfoOther_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_DefaultNodeInfoOther } // Descriptor returns message descriptor, which contains only the protobuf // type information for the message. -func (x *fastReflection_NodeInfoOther) Descriptor() protoreflect.MessageDescriptor { - return md_NodeInfoOther +func (x *fastReflection_DefaultNodeInfoOther) Descriptor() protoreflect.MessageDescriptor { + return md_DefaultNodeInfoOther } // Type returns the message type, which encapsulates both Go and protobuf // type information. If the Go type information is not needed, // it is recommended that the message descriptor be used instead. -func (x *fastReflection_NodeInfoOther) Type() protoreflect.MessageType { - return _fastReflection_NodeInfoOther_messageType +func (x *fastReflection_DefaultNodeInfoOther) Type() protoreflect.MessageType { + return _fastReflection_DefaultNodeInfoOther_messageType } // New returns a newly allocated and mutable empty message. -func (x *fastReflection_NodeInfoOther) New() protoreflect.Message { - return new(fastReflection_NodeInfoOther) +func (x *fastReflection_DefaultNodeInfoOther) New() protoreflect.Message { + return new(fastReflection_DefaultNodeInfoOther) } // Interface unwraps the message reflection interface and // returns the underlying ProtoMessage interface. -func (x *fastReflection_NodeInfoOther) Interface() protoreflect.ProtoMessage { - return (*NodeInfoOther)(x) +func (x *fastReflection_DefaultNodeInfoOther) Interface() protoreflect.ProtoMessage { + return (*DefaultNodeInfoOther)(x) } // Range iterates over every populated field in an undefined order, @@ -1491,16 +1491,16 @@ func (x *fastReflection_NodeInfoOther) Interface() protoreflect.ProtoMessage { // Range returns immediately if f returns false. // While iterating, mutating operations may only be performed // on the current field descriptor. -func (x *fastReflection_NodeInfoOther) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +func (x *fastReflection_DefaultNodeInfoOther) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { if x.TxIndex != "" { value := protoreflect.ValueOfString(x.TxIndex) - if !f(fd_NodeInfoOther_tx_index, value) { + if !f(fd_DefaultNodeInfoOther_tx_index, value) { return } } if x.RpcAddress != "" { value := protoreflect.ValueOfString(x.RpcAddress) - if !f(fd_NodeInfoOther_rpc_address, value) { + if !f(fd_DefaultNodeInfoOther_rpc_address, value) { return } } @@ -1517,17 +1517,17 @@ func (x *fastReflection_NodeInfoOther) Range(f func(protoreflect.FieldDescriptor // In other cases (aside from the nullable cases above), // a proto3 scalar field is populated if it contains a non-zero value, and // a repeated field is populated if it is non-empty. -func (x *fastReflection_NodeInfoOther) Has(fd protoreflect.FieldDescriptor) bool { +func (x *fastReflection_DefaultNodeInfoOther) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": return x.TxIndex != "" - case "tendermint.p2p.NodeInfoOther.rpc_address": + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": return x.RpcAddress != "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", fd.FullName())) } } @@ -1537,17 +1537,17 @@ func (x *fastReflection_NodeInfoOther) Has(fd protoreflect.FieldDescriptor) bool // associated with the given field number. // // Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfoOther) Clear(fd protoreflect.FieldDescriptor) { +func (x *fastReflection_DefaultNodeInfoOther) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": x.TxIndex = "" - case "tendermint.p2p.NodeInfoOther.rpc_address": + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": x.RpcAddress = "" default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", fd.FullName())) } } @@ -1557,19 +1557,19 @@ func (x *fastReflection_NodeInfoOther) Clear(fd protoreflect.FieldDescriptor) { // the default value of a bytes scalar is guaranteed to be a copy. // For unpopulated composite types, it returns an empty, read-only view // of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_NodeInfoOther) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfoOther) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": value := x.TxIndex return protoreflect.ValueOfString(value) - case "tendermint.p2p.NodeInfoOther.rpc_address": + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": value := x.RpcAddress return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", descriptor.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", descriptor.FullName())) } } @@ -1583,17 +1583,17 @@ func (x *fastReflection_NodeInfoOther) Get(descriptor protoreflect.FieldDescript // empty, read-only value, then it panics. // // Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfoOther) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { +func (x *fastReflection_DefaultNodeInfoOther) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": x.TxIndex = value.Interface().(string) - case "tendermint.p2p.NodeInfoOther.rpc_address": + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": x.RpcAddress = value.Interface().(string) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", fd.FullName())) } } @@ -1607,44 +1607,44 @@ func (x *fastReflection_NodeInfoOther) Set(fd protoreflect.FieldDescriptor, valu // It panics if the field does not contain a composite type. // // Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfoOther) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfoOther) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": - panic(fmt.Errorf("field tx_index of message tendermint.p2p.NodeInfoOther is not mutable")) - case "tendermint.p2p.NodeInfoOther.rpc_address": - panic(fmt.Errorf("field rpc_address of message tendermint.p2p.NodeInfoOther is not mutable")) + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": + panic(fmt.Errorf("field tx_index of message tendermint.p2p.DefaultNodeInfoOther is not mutable")) + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": + panic(fmt.Errorf("field rpc_address of message tendermint.p2p.DefaultNodeInfoOther is not mutable")) default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", fd.FullName())) } } // NewField returns a new value that is assignable to the field // for the given descriptor. For scalars, this returns the default value. // For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_NodeInfoOther) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { +func (x *fastReflection_DefaultNodeInfoOther) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "tendermint.p2p.NodeInfoOther.tx_index": + case "tendermint.p2p.DefaultNodeInfoOther.tx_index": return protoreflect.ValueOfString("") - case "tendermint.p2p.NodeInfoOther.rpc_address": + case "tendermint.p2p.DefaultNodeInfoOther.rpc_address": return protoreflect.ValueOfString("") default: if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.NodeInfoOther")) + panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.DefaultNodeInfoOther")) } - panic(fmt.Errorf("message tendermint.p2p.NodeInfoOther does not contain field %s", fd.FullName())) + panic(fmt.Errorf("message tendermint.p2p.DefaultNodeInfoOther does not contain field %s", fd.FullName())) } } // WhichOneof reports which field within the oneof is populated, // returning nil if none are populated. // It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_NodeInfoOther) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { +func (x *fastReflection_DefaultNodeInfoOther) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { switch d.FullName() { default: - panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.NodeInfoOther", d.FullName())) + panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.DefaultNodeInfoOther", d.FullName())) } panic("unreachable") } @@ -1652,7 +1652,7 @@ func (x *fastReflection_NodeInfoOther) WhichOneof(d protoreflect.OneofDescriptor // GetUnknown retrieves the entire list of unknown fields. // The caller may only mutate the contents of the RawFields // if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_NodeInfoOther) GetUnknown() protoreflect.RawFields { +func (x *fastReflection_DefaultNodeInfoOther) GetUnknown() protoreflect.RawFields { return x.unknownFields } @@ -1663,7 +1663,7 @@ func (x *fastReflection_NodeInfoOther) GetUnknown() protoreflect.RawFields { // An empty RawFields may be passed to clear the fields. // // SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_NodeInfoOther) SetUnknown(fields protoreflect.RawFields) { +func (x *fastReflection_DefaultNodeInfoOther) SetUnknown(fields protoreflect.RawFields) { x.unknownFields = fields } @@ -1675,7 +1675,7 @@ func (x *fastReflection_NodeInfoOther) SetUnknown(fields protoreflect.RawFields) // message type, but the details are implementation dependent. // Validity is not part of the protobuf data model, and may not // be preserved in marshaling or other operations. -func (x *fastReflection_NodeInfoOther) IsValid() bool { +func (x *fastReflection_DefaultNodeInfoOther) IsValid() bool { return x != nil } @@ -1685,9 +1685,9 @@ func (x *fastReflection_NodeInfoOther) IsValid() bool { // The returned methods type is identical to // "google.golang.org/protobuf/runtime/protoiface".Methods. // Consult the protoiface package documentation for details. -func (x *fastReflection_NodeInfoOther) ProtoMethods() *protoiface.Methods { +func (x *fastReflection_DefaultNodeInfoOther) ProtoMethods() *protoiface.Methods { size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*NodeInfoOther) + x := input.Message.Interface().(*DefaultNodeInfoOther) if x == nil { return protoiface.SizeOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1717,7 +1717,7 @@ func (x *fastReflection_NodeInfoOther) ProtoMethods() *protoiface.Methods { } marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*NodeInfoOther) + x := input.Message.Interface().(*DefaultNodeInfoOther) if x == nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1761,7 +1761,7 @@ func (x *fastReflection_NodeInfoOther) ProtoMethods() *protoiface.Methods { }, nil } unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*NodeInfoOther) + x := input.Message.Interface().(*DefaultNodeInfoOther) if x == nil { return protoiface.UnmarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -1793,10 +1793,10 @@ func (x *fastReflection_NodeInfoOther) ProtoMethods() *protoiface.Methods { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: NodeInfoOther: wiretype end group for non-group") + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: DefaultNodeInfoOther: wiretype end group for non-group") } if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: NodeInfoOther: illegal tag %d (wire type %d)", fieldNum, wire) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: DefaultNodeInfoOther: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1898,1269 +1898,6 @@ func (x *fastReflection_NodeInfoOther) ProtoMethods() *protoiface.Methods { } } -var _ protoreflect.List = (*_PeerInfo_2_list)(nil) - -type _PeerInfo_2_list struct { - list *[]*PeerAddressInfo -} - -func (x *_PeerInfo_2_list) Len() int { - if x.list == nil { - return 0 - } - return len(*x.list) -} - -func (x *_PeerInfo_2_list) Get(i int) protoreflect.Value { - return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) -} - -func (x *_PeerInfo_2_list) Set(i int, value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*PeerAddressInfo) - (*x.list)[i] = concreteValue -} - -func (x *_PeerInfo_2_list) Append(value protoreflect.Value) { - valueUnwrapped := value.Message() - concreteValue := valueUnwrapped.Interface().(*PeerAddressInfo) - *x.list = append(*x.list, concreteValue) -} - -func (x *_PeerInfo_2_list) AppendMutable() protoreflect.Value { - v := new(PeerAddressInfo) - *x.list = append(*x.list, v) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_PeerInfo_2_list) Truncate(n int) { - for i := n; i < len(*x.list); i++ { - (*x.list)[i] = nil - } - *x.list = (*x.list)[:n] -} - -func (x *_PeerInfo_2_list) NewElement() protoreflect.Value { - v := new(PeerAddressInfo) - return protoreflect.ValueOfMessage(v.ProtoReflect()) -} - -func (x *_PeerInfo_2_list) IsValid() bool { - return x.list != nil -} - -var ( - md_PeerInfo protoreflect.MessageDescriptor - fd_PeerInfo_id protoreflect.FieldDescriptor - fd_PeerInfo_address_info protoreflect.FieldDescriptor - fd_PeerInfo_last_connected protoreflect.FieldDescriptor -) - -func init() { - file_tendermint_p2p_types_proto_init() - md_PeerInfo = File_tendermint_p2p_types_proto.Messages().ByName("PeerInfo") - fd_PeerInfo_id = md_PeerInfo.Fields().ByName("id") - fd_PeerInfo_address_info = md_PeerInfo.Fields().ByName("address_info") - fd_PeerInfo_last_connected = md_PeerInfo.Fields().ByName("last_connected") -} - -var _ protoreflect.Message = (*fastReflection_PeerInfo)(nil) - -type fastReflection_PeerInfo PeerInfo - -func (x *PeerInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_PeerInfo)(x) -} - -func (x *PeerInfo) slowProtoReflect() protoreflect.Message { - mi := &file_tendermint_p2p_types_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_PeerInfo_messageType fastReflection_PeerInfo_messageType -var _ protoreflect.MessageType = fastReflection_PeerInfo_messageType{} - -type fastReflection_PeerInfo_messageType struct{} - -func (x fastReflection_PeerInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_PeerInfo)(nil) -} -func (x fastReflection_PeerInfo_messageType) New() protoreflect.Message { - return new(fastReflection_PeerInfo) -} -func (x fastReflection_PeerInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_PeerInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_PeerInfo) Descriptor() protoreflect.MessageDescriptor { - return md_PeerInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_PeerInfo) Type() protoreflect.MessageType { - return _fastReflection_PeerInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_PeerInfo) New() protoreflect.Message { - return new(fastReflection_PeerInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_PeerInfo) Interface() protoreflect.ProtoMessage { - return (*PeerInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_PeerInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Id != "" { - value := protoreflect.ValueOfString(x.Id) - if !f(fd_PeerInfo_id, value) { - return - } - } - if len(x.AddressInfo) != 0 { - value := protoreflect.ValueOfList(&_PeerInfo_2_list{list: &x.AddressInfo}) - if !f(fd_PeerInfo_address_info, value) { - return - } - } - if x.LastConnected != nil { - value := protoreflect.ValueOfMessage(x.LastConnected.ProtoReflect()) - if !f(fd_PeerInfo_last_connected, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_PeerInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "tendermint.p2p.PeerInfo.id": - return x.Id != "" - case "tendermint.p2p.PeerInfo.address_info": - return len(x.AddressInfo) != 0 - case "tendermint.p2p.PeerInfo.last_connected": - return x.LastConnected != nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "tendermint.p2p.PeerInfo.id": - x.Id = "" - case "tendermint.p2p.PeerInfo.address_info": - x.AddressInfo = nil - case "tendermint.p2p.PeerInfo.last_connected": - x.LastConnected = nil - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_PeerInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "tendermint.p2p.PeerInfo.id": - value := x.Id - return protoreflect.ValueOfString(value) - case "tendermint.p2p.PeerInfo.address_info": - if len(x.AddressInfo) == 0 { - return protoreflect.ValueOfList(&_PeerInfo_2_list{}) - } - listValue := &_PeerInfo_2_list{list: &x.AddressInfo} - return protoreflect.ValueOfList(listValue) - case "tendermint.p2p.PeerInfo.last_connected": - value := x.LastConnected - return protoreflect.ValueOfMessage(value.ProtoReflect()) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "tendermint.p2p.PeerInfo.id": - x.Id = value.Interface().(string) - case "tendermint.p2p.PeerInfo.address_info": - lv := value.List() - clv := lv.(*_PeerInfo_2_list) - x.AddressInfo = *clv.list - case "tendermint.p2p.PeerInfo.last_connected": - x.LastConnected = value.Message().Interface().(*timestamppb.Timestamp) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "tendermint.p2p.PeerInfo.address_info": - if x.AddressInfo == nil { - x.AddressInfo = []*PeerAddressInfo{} - } - value := &_PeerInfo_2_list{list: &x.AddressInfo} - return protoreflect.ValueOfList(value) - case "tendermint.p2p.PeerInfo.last_connected": - if x.LastConnected == nil { - x.LastConnected = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.LastConnected.ProtoReflect()) - case "tendermint.p2p.PeerInfo.id": - panic(fmt.Errorf("field id of message tendermint.p2p.PeerInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_PeerInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "tendermint.p2p.PeerInfo.id": - return protoreflect.ValueOfString("") - case "tendermint.p2p.PeerInfo.address_info": - list := []*PeerAddressInfo{} - return protoreflect.ValueOfList(&_PeerInfo_2_list{list: &list}) - case "tendermint.p2p.PeerInfo.last_connected": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_PeerInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.PeerInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_PeerInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_PeerInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_PeerInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*PeerInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Id) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if len(x.AddressInfo) > 0 { - for _, e := range x.AddressInfo { - l = options.Size(e) - n += 1 + l + runtime.Sov(uint64(l)) - } - } - if x.LastConnected != nil { - l = options.Size(x.LastConnected) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*PeerInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.LastConnected != nil { - encoded, err := options.Marshal(x.LastConnected) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } - if len(x.AddressInfo) > 0 { - for iNdEx := len(x.AddressInfo) - 1; iNdEx >= 0; iNdEx-- { - encoded, err := options.Marshal(x.AddressInfo[iNdEx]) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - } - if len(x.Id) > 0 { - i -= len(x.Id) - copy(dAtA[i:], x.Id) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Id))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*PeerInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire 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++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PeerInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PeerInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", 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.Id = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AddressInfo", wireType) - } - var msglen int - 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++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - 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.AddressInfo = append(x.AddressInfo, &PeerAddressInfo{}) - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.AddressInfo[len(x.AddressInfo)-1]); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastConnected", wireType) - } - var msglen int - 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++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - 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 - } - if x.LastConnected == nil { - x.LastConnected = ×tamppb.Timestamp{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.LastConnected); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - -var ( - md_PeerAddressInfo protoreflect.MessageDescriptor - fd_PeerAddressInfo_address protoreflect.FieldDescriptor - fd_PeerAddressInfo_last_dial_success protoreflect.FieldDescriptor - fd_PeerAddressInfo_last_dial_failure protoreflect.FieldDescriptor - fd_PeerAddressInfo_dial_failures protoreflect.FieldDescriptor -) - -func init() { - file_tendermint_p2p_types_proto_init() - md_PeerAddressInfo = File_tendermint_p2p_types_proto.Messages().ByName("PeerAddressInfo") - fd_PeerAddressInfo_address = md_PeerAddressInfo.Fields().ByName("address") - fd_PeerAddressInfo_last_dial_success = md_PeerAddressInfo.Fields().ByName("last_dial_success") - fd_PeerAddressInfo_last_dial_failure = md_PeerAddressInfo.Fields().ByName("last_dial_failure") - fd_PeerAddressInfo_dial_failures = md_PeerAddressInfo.Fields().ByName("dial_failures") -} - -var _ protoreflect.Message = (*fastReflection_PeerAddressInfo)(nil) - -type fastReflection_PeerAddressInfo PeerAddressInfo - -func (x *PeerAddressInfo) ProtoReflect() protoreflect.Message { - return (*fastReflection_PeerAddressInfo)(x) -} - -func (x *PeerAddressInfo) slowProtoReflect() protoreflect.Message { - mi := &file_tendermint_p2p_types_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -var _fastReflection_PeerAddressInfo_messageType fastReflection_PeerAddressInfo_messageType -var _ protoreflect.MessageType = fastReflection_PeerAddressInfo_messageType{} - -type fastReflection_PeerAddressInfo_messageType struct{} - -func (x fastReflection_PeerAddressInfo_messageType) Zero() protoreflect.Message { - return (*fastReflection_PeerAddressInfo)(nil) -} -func (x fastReflection_PeerAddressInfo_messageType) New() protoreflect.Message { - return new(fastReflection_PeerAddressInfo) -} -func (x fastReflection_PeerAddressInfo_messageType) Descriptor() protoreflect.MessageDescriptor { - return md_PeerAddressInfo -} - -// Descriptor returns message descriptor, which contains only the protobuf -// type information for the message. -func (x *fastReflection_PeerAddressInfo) Descriptor() protoreflect.MessageDescriptor { - return md_PeerAddressInfo -} - -// Type returns the message type, which encapsulates both Go and protobuf -// type information. If the Go type information is not needed, -// it is recommended that the message descriptor be used instead. -func (x *fastReflection_PeerAddressInfo) Type() protoreflect.MessageType { - return _fastReflection_PeerAddressInfo_messageType -} - -// New returns a newly allocated and mutable empty message. -func (x *fastReflection_PeerAddressInfo) New() protoreflect.Message { - return new(fastReflection_PeerAddressInfo) -} - -// Interface unwraps the message reflection interface and -// returns the underlying ProtoMessage interface. -func (x *fastReflection_PeerAddressInfo) Interface() protoreflect.ProtoMessage { - return (*PeerAddressInfo)(x) -} - -// Range iterates over every populated field in an undefined order, -// calling f for each field descriptor and value encountered. -// Range returns immediately if f returns false. -// While iterating, mutating operations may only be performed -// on the current field descriptor. -func (x *fastReflection_PeerAddressInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Address != "" { - value := protoreflect.ValueOfString(x.Address) - if !f(fd_PeerAddressInfo_address, value) { - return - } - } - if x.LastDialSuccess != nil { - value := protoreflect.ValueOfMessage(x.LastDialSuccess.ProtoReflect()) - if !f(fd_PeerAddressInfo_last_dial_success, value) { - return - } - } - if x.LastDialFailure != nil { - value := protoreflect.ValueOfMessage(x.LastDialFailure.ProtoReflect()) - if !f(fd_PeerAddressInfo_last_dial_failure, value) { - return - } - } - if x.DialFailures != uint32(0) { - value := protoreflect.ValueOfUint32(x.DialFailures) - if !f(fd_PeerAddressInfo_dial_failures, value) { - return - } - } -} - -// Has reports whether a field is populated. -// -// Some fields have the property of nullability where it is possible to -// distinguish between the default value of a field and whether the field -// was explicitly populated with the default value. Singular message fields, -// member fields of a oneof, and proto2 scalar fields are nullable. Such -// fields are populated only if explicitly set. -// -// In other cases (aside from the nullable cases above), -// a proto3 scalar field is populated if it contains a non-zero value, and -// a repeated field is populated if it is non-empty. -func (x *fastReflection_PeerAddressInfo) Has(fd protoreflect.FieldDescriptor) bool { - switch fd.FullName() { - case "tendermint.p2p.PeerAddressInfo.address": - return x.Address != "" - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - return x.LastDialSuccess != nil - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - return x.LastDialFailure != nil - case "tendermint.p2p.PeerAddressInfo.dial_failures": - return x.DialFailures != uint32(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", fd.FullName())) - } -} - -// Clear clears the field such that a subsequent Has call reports false. -// -// Clearing an extension field clears both the extension type and value -// associated with the given field number. -// -// Clear is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerAddressInfo) Clear(fd protoreflect.FieldDescriptor) { - switch fd.FullName() { - case "tendermint.p2p.PeerAddressInfo.address": - x.Address = "" - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - x.LastDialSuccess = nil - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - x.LastDialFailure = nil - case "tendermint.p2p.PeerAddressInfo.dial_failures": - x.DialFailures = uint32(0) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", fd.FullName())) - } -} - -// Get retrieves the value for a field. -// -// For unpopulated scalars, it returns the default value, where -// the default value of a bytes scalar is guaranteed to be a copy. -// For unpopulated composite types, it returns an empty, read-only view -// of the value; to obtain a mutable reference, use Mutable. -func (x *fastReflection_PeerAddressInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { - switch descriptor.FullName() { - case "tendermint.p2p.PeerAddressInfo.address": - value := x.Address - return protoreflect.ValueOfString(value) - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - value := x.LastDialSuccess - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - value := x.LastDialFailure - return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.dial_failures": - value := x.DialFailures - return protoreflect.ValueOfUint32(value) - default: - if descriptor.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", descriptor.FullName())) - } -} - -// Set stores the value for a field. -// -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType. -// When setting a composite type, it is unspecified whether the stored value -// aliases the source's memory in any way. If the composite value is an -// empty, read-only value, then it panics. -// -// Set is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerAddressInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { - switch fd.FullName() { - case "tendermint.p2p.PeerAddressInfo.address": - x.Address = value.Interface().(string) - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - x.LastDialSuccess = value.Message().Interface().(*timestamppb.Timestamp) - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - x.LastDialFailure = value.Message().Interface().(*timestamppb.Timestamp) - case "tendermint.p2p.PeerAddressInfo.dial_failures": - x.DialFailures = uint32(value.Uint()) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", fd.FullName())) - } -} - -// Mutable returns a mutable reference to a composite type. -// -// If the field is unpopulated, it may allocate a composite value. -// For a field belonging to a oneof, it implicitly clears any other field -// that may be currently set within the same oneof. -// For extension fields, it implicitly stores the provided ExtensionType -// if not already stored. -// It panics if the field does not contain a composite type. -// -// Mutable is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerAddressInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - if x.LastDialSuccess == nil { - x.LastDialSuccess = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.LastDialSuccess.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - if x.LastDialFailure == nil { - x.LastDialFailure = new(timestamppb.Timestamp) - } - return protoreflect.ValueOfMessage(x.LastDialFailure.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.address": - panic(fmt.Errorf("field address of message tendermint.p2p.PeerAddressInfo is not mutable")) - case "tendermint.p2p.PeerAddressInfo.dial_failures": - panic(fmt.Errorf("field dial_failures of message tendermint.p2p.PeerAddressInfo is not mutable")) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", fd.FullName())) - } -} - -// NewField returns a new value that is assignable to the field -// for the given descriptor. For scalars, this returns the default value. -// For lists, maps, and messages, this returns a new, empty, mutable value. -func (x *fastReflection_PeerAddressInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { - switch fd.FullName() { - case "tendermint.p2p.PeerAddressInfo.address": - return protoreflect.ValueOfString("") - case "tendermint.p2p.PeerAddressInfo.last_dial_success": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.last_dial_failure": - m := new(timestamppb.Timestamp) - return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "tendermint.p2p.PeerAddressInfo.dial_failures": - return protoreflect.ValueOfUint32(uint32(0)) - default: - if fd.IsExtension() { - panic(fmt.Errorf("proto3 declared messages do not support extensions: tendermint.p2p.PeerAddressInfo")) - } - panic(fmt.Errorf("message tendermint.p2p.PeerAddressInfo does not contain field %s", fd.FullName())) - } -} - -// WhichOneof reports which field within the oneof is populated, -// returning nil if none are populated. -// It panics if the oneof descriptor does not belong to this message. -func (x *fastReflection_PeerAddressInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { - switch d.FullName() { - default: - panic(fmt.Errorf("%s is not a oneof field in tendermint.p2p.PeerAddressInfo", d.FullName())) - } - panic("unreachable") -} - -// GetUnknown retrieves the entire list of unknown fields. -// The caller may only mutate the contents of the RawFields -// if the mutated bytes are stored back into the message with SetUnknown. -func (x *fastReflection_PeerAddressInfo) GetUnknown() protoreflect.RawFields { - return x.unknownFields -} - -// SetUnknown stores an entire list of unknown fields. -// The raw fields must be syntactically valid according to the wire format. -// An implementation may panic if this is not the case. -// Once stored, the caller must not mutate the content of the RawFields. -// An empty RawFields may be passed to clear the fields. -// -// SetUnknown is a mutating operation and unsafe for concurrent use. -func (x *fastReflection_PeerAddressInfo) SetUnknown(fields protoreflect.RawFields) { - x.unknownFields = fields -} - -// IsValid reports whether the message is valid. -// -// An invalid message is an empty, read-only value. -// -// An invalid message often corresponds to a nil pointer of the concrete -// message type, but the details are implementation dependent. -// Validity is not part of the protobuf data model, and may not -// be preserved in marshaling or other operations. -func (x *fastReflection_PeerAddressInfo) IsValid() bool { - return x != nil -} - -// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. -// This method may return nil. -// -// The returned methods type is identical to -// "google.golang.org/protobuf/runtime/protoiface".Methods. -// Consult the protoiface package documentation for details. -func (x *fastReflection_PeerAddressInfo) ProtoMethods() *protoiface.Methods { - size := func(input protoiface.SizeInput) protoiface.SizeOutput { - x := input.Message.Interface().(*PeerAddressInfo) - if x == nil { - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: 0, - } - } - options := runtime.SizeInputToOptions(input) - _ = options - var n int - var l int - _ = l - l = len(x.Address) - if l > 0 { - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.LastDialSuccess != nil { - l = options.Size(x.LastDialSuccess) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.LastDialFailure != nil { - l = options.Size(x.LastDialFailure) - n += 1 + l + runtime.Sov(uint64(l)) - } - if x.DialFailures != 0 { - n += 1 + runtime.Sov(uint64(x.DialFailures)) - } - if x.unknownFields != nil { - n += len(x.unknownFields) - } - return protoiface.SizeOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Size: n, - } - } - - marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { - x := input.Message.Interface().(*PeerAddressInfo) - if x == nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - options := runtime.MarshalInputToOptions(input) - _ = options - size := options.Size(x) - dAtA := make([]byte, size) - i := len(dAtA) - _ = i - var l int - _ = l - if x.unknownFields != nil { - i -= len(x.unknownFields) - copy(dAtA[i:], x.unknownFields) - } - if x.DialFailures != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.DialFailures)) - i-- - dAtA[i] = 0x20 - } - if x.LastDialFailure != nil { - encoded, err := options.Marshal(x.LastDialFailure) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x1a - } - if x.LastDialSuccess != nil { - encoded, err := options.Marshal(x.LastDialSuccess) - if err != nil { - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, err - } - i -= len(encoded) - copy(dAtA[i:], encoded) - i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) - i-- - dAtA[i] = 0x12 - } - if len(x.Address) > 0 { - i -= len(x.Address) - copy(dAtA[i:], x.Address) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Address))) - i-- - dAtA[i] = 0xa - } - if input.Buf != nil { - input.Buf = append(input.Buf, dAtA...) - } else { - input.Buf = dAtA - } - return protoiface.MarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Buf: input.Buf, - }, nil - } - unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { - x := input.Message.Interface().(*PeerAddressInfo) - if x == nil { - return protoiface.UnmarshalOutput{ - NoUnkeyedLiterals: input.NoUnkeyedLiterals, - Flags: input.Flags, - }, nil - } - options := runtime.UnmarshalInputToOptions(input) - _ = options - dAtA := input.Buf - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire 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++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PeerAddressInfo: wiretype end group for non-group") - } - if fieldNum <= 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: PeerAddressInfo: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Address", 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.Address = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastDialSuccess", wireType) - } - var msglen int - 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++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - 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 - } - if x.LastDialSuccess == nil { - x.LastDialSuccess = ×tamppb.Timestamp{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.LastDialSuccess); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field LastDialFailure", wireType) - } - var msglen int - 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++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - postIndex := iNdEx + msglen - 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 - } - if x.LastDialFailure == nil { - x.LastDialFailure = ×tamppb.Timestamp{} - } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.LastDialFailure); err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DialFailures", wireType) - } - x.DialFailures = 0 - 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++ - x.DialFailures |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := runtime.Skip(dAtA[iNdEx:]) - if err != nil { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - if !options.DiscardUnknown { - x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - } - iNdEx += skippy - } - } - - if iNdEx > l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil - } - return &protoiface.Methods{ - NoUnkeyedLiterals: struct{}{}, - Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, - Size: size, - Marshal: marshal, - Unmarshal: unmarshal, - Merge: nil, - CheckInitialized: nil, - } -} - // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -3225,23 +1962,23 @@ func (x *ProtocolVersion) GetApp() uint64 { return 0 } -type NodeInfo struct { +type DefaultNodeInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ProtocolVersion *ProtocolVersion `protobuf:"bytes,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"` - NodeId string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` - ListenAddr string `protobuf:"bytes,3,opt,name=listen_addr,json=listenAddr,proto3" json:"listen_addr,omitempty"` - Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"` - Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` - Channels []byte `protobuf:"bytes,6,opt,name=channels,proto3" json:"channels,omitempty"` - Moniker string `protobuf:"bytes,7,opt,name=moniker,proto3" json:"moniker,omitempty"` - Other *NodeInfoOther `protobuf:"bytes,8,opt,name=other,proto3" json:"other,omitempty"` + ProtocolVersion *ProtocolVersion `protobuf:"bytes,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"` + DefaultNodeId string `protobuf:"bytes,2,opt,name=default_node_id,json=defaultNodeId,proto3" json:"default_node_id,omitempty"` + ListenAddr string `protobuf:"bytes,3,opt,name=listen_addr,json=listenAddr,proto3" json:"listen_addr,omitempty"` + Network string `protobuf:"bytes,4,opt,name=network,proto3" json:"network,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + Channels []byte `protobuf:"bytes,6,opt,name=channels,proto3" json:"channels,omitempty"` + Moniker string `protobuf:"bytes,7,opt,name=moniker,proto3" json:"moniker,omitempty"` + Other *DefaultNodeInfoOther `protobuf:"bytes,8,opt,name=other,proto3" json:"other,omitempty"` } -func (x *NodeInfo) Reset() { - *x = NodeInfo{} +func (x *DefaultNodeInfo) Reset() { + *x = DefaultNodeInfo{} if protoimpl.UnsafeEnabled { mi := &file_tendermint_p2p_types_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3249,74 +1986,74 @@ func (x *NodeInfo) Reset() { } } -func (x *NodeInfo) String() string { +func (x *DefaultNodeInfo) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfo) ProtoMessage() {} +func (*DefaultNodeInfo) ProtoMessage() {} -// Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo) Descriptor() ([]byte, []int) { +// Deprecated: Use DefaultNodeInfo.ProtoReflect.Descriptor instead. +func (*DefaultNodeInfo) Descriptor() ([]byte, []int) { return file_tendermint_p2p_types_proto_rawDescGZIP(), []int{1} } -func (x *NodeInfo) GetProtocolVersion() *ProtocolVersion { +func (x *DefaultNodeInfo) GetProtocolVersion() *ProtocolVersion { if x != nil { return x.ProtocolVersion } return nil } -func (x *NodeInfo) GetNodeId() string { +func (x *DefaultNodeInfo) GetDefaultNodeId() string { if x != nil { - return x.NodeId + return x.DefaultNodeId } return "" } -func (x *NodeInfo) GetListenAddr() string { +func (x *DefaultNodeInfo) GetListenAddr() string { if x != nil { return x.ListenAddr } return "" } -func (x *NodeInfo) GetNetwork() string { +func (x *DefaultNodeInfo) GetNetwork() string { if x != nil { return x.Network } return "" } -func (x *NodeInfo) GetVersion() string { +func (x *DefaultNodeInfo) GetVersion() string { if x != nil { return x.Version } return "" } -func (x *NodeInfo) GetChannels() []byte { +func (x *DefaultNodeInfo) GetChannels() []byte { if x != nil { return x.Channels } return nil } -func (x *NodeInfo) GetMoniker() string { +func (x *DefaultNodeInfo) GetMoniker() string { if x != nil { return x.Moniker } return "" } -func (x *NodeInfo) GetOther() *NodeInfoOther { +func (x *DefaultNodeInfo) GetOther() *DefaultNodeInfoOther { if x != nil { return x.Other } return nil } -type NodeInfoOther struct { +type DefaultNodeInfoOther struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields @@ -3325,8 +2062,8 @@ type NodeInfoOther struct { RpcAddress string `protobuf:"bytes,2,opt,name=rpc_address,json=rpcAddress,proto3" json:"rpc_address,omitempty"` } -func (x *NodeInfoOther) Reset() { - *x = NodeInfoOther{} +func (x *DefaultNodeInfoOther) Reset() { + *x = DefaultNodeInfoOther{} if protoimpl.UnsafeEnabled { mi := &file_tendermint_p2p_types_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3334,141 +2071,31 @@ func (x *NodeInfoOther) Reset() { } } -func (x *NodeInfoOther) String() string { +func (x *DefaultNodeInfoOther) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NodeInfoOther) ProtoMessage() {} +func (*DefaultNodeInfoOther) ProtoMessage() {} -// Deprecated: Use NodeInfoOther.ProtoReflect.Descriptor instead. -func (*NodeInfoOther) Descriptor() ([]byte, []int) { +// Deprecated: Use DefaultNodeInfoOther.ProtoReflect.Descriptor instead. +func (*DefaultNodeInfoOther) Descriptor() ([]byte, []int) { return file_tendermint_p2p_types_proto_rawDescGZIP(), []int{2} } -func (x *NodeInfoOther) GetTxIndex() string { +func (x *DefaultNodeInfoOther) GetTxIndex() string { if x != nil { return x.TxIndex } return "" } -func (x *NodeInfoOther) GetRpcAddress() string { +func (x *DefaultNodeInfoOther) GetRpcAddress() string { if x != nil { return x.RpcAddress } return "" } -type PeerInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AddressInfo []*PeerAddressInfo `protobuf:"bytes,2,rep,name=address_info,json=addressInfo,proto3" json:"address_info,omitempty"` - LastConnected *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_connected,json=lastConnected,proto3" json:"last_connected,omitempty"` -} - -func (x *PeerInfo) Reset() { - *x = PeerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_tendermint_p2p_types_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerInfo) ProtoMessage() {} - -// Deprecated: Use PeerInfo.ProtoReflect.Descriptor instead. -func (*PeerInfo) Descriptor() ([]byte, []int) { - return file_tendermint_p2p_types_proto_rawDescGZIP(), []int{3} -} - -func (x *PeerInfo) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *PeerInfo) GetAddressInfo() []*PeerAddressInfo { - if x != nil { - return x.AddressInfo - } - return nil -} - -func (x *PeerInfo) GetLastConnected() *timestamppb.Timestamp { - if x != nil { - return x.LastConnected - } - return nil -} - -type PeerAddressInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - LastDialSuccess *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_dial_success,json=lastDialSuccess,proto3" json:"last_dial_success,omitempty"` - LastDialFailure *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_dial_failure,json=lastDialFailure,proto3" json:"last_dial_failure,omitempty"` - DialFailures uint32 `protobuf:"varint,4,opt,name=dial_failures,json=dialFailures,proto3" json:"dial_failures,omitempty"` -} - -func (x *PeerAddressInfo) Reset() { - *x = PeerAddressInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_tendermint_p2p_types_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerAddressInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerAddressInfo) ProtoMessage() {} - -// Deprecated: Use PeerAddressInfo.ProtoReflect.Descriptor instead. -func (*PeerAddressInfo) Descriptor() ([]byte, []int) { - return file_tendermint_p2p_types_proto_rawDescGZIP(), []int{4} -} - -func (x *PeerAddressInfo) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *PeerAddressInfo) GetLastDialSuccess() *timestamppb.Timestamp { - if x != nil { - return x.LastDialSuccess - } - return nil -} - -func (x *PeerAddressInfo) GetLastDialFailure() *timestamppb.Timestamp { - if x != nil { - return x.LastDialFailure - } - return nil -} - -func (x *PeerAddressInfo) GetDialFailures() uint32 { - if x != nil { - return x.DialFailures - } - return 0 -} - var File_tendermint_p2p_types_proto protoreflect.FileDescriptor var file_tendermint_p2p_types_proto_rawDesc = []byte{ @@ -3483,70 +2110,46 @@ var file_tendermint_p2p_types_proto_rawDesc = []byte{ 0x01, 0x28, 0x04, 0x42, 0x07, 0xe2, 0xde, 0x1f, 0x03, 0x50, 0x32, 0x50, 0x52, 0x03, 0x70, 0x32, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x70, 0x70, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x70, 0x70, 0x22, 0xc7, 0x02, 0x0a, 0x08, 0x4e, 0x6f, - 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, - 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe2, 0xde, 0x1f, 0x06, 0x4e, - 0x6f, 0x64, 0x65, 0x49, 0x44, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x22, 0x5b, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4f, - 0x74, 0x68, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x2f, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xe2, 0xde, 0x1f, 0x0a, 0x52, 0x50, 0x43, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x0a, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x22, 0xaf, 0x01, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe2, 0xde, 0x1f, 0x02, 0x49, - 0x44, 0x52, 0x02, 0x69, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x65, 0x65, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x47, 0x0a, 0x0e, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0x90, - 0xdf, 0x1f, 0x01, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x0f, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x4c, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0f, 0x6c, - 0x61, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4c, - 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0f, 0x6c, 0x61, 0x73, - 0x74, 0x44, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x64, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x73, 0x42, 0x9a, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, 0x70, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x1f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, - 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, - 0x69, 0x6e, 0x74, 0x2f, 0x70, 0x32, 0x70, 0xa2, 0x02, 0x03, 0x54, 0x50, 0x58, 0xaa, 0x02, 0x0e, - 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x32, 0x70, 0xca, 0x02, - 0x0e, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x50, 0x32, 0x70, 0xe2, - 0x02, 0x1a, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x50, 0x32, 0x70, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x54, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x50, 0x32, 0x70, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x70, 0x70, 0x22, 0xeb, 0x02, 0x0a, 0x0f, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, + 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x39, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x11, 0xe2, 0xde, 0x1f, 0x0d, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x44, 0x52, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, + 0x6f, 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x6f, + 0x6e, 0x69, 0x6b, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x74, 0x2e, 0x70, 0x32, 0x70, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, + 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x22, 0x62, 0x0a, 0x14, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x74, 0x78, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2f, 0x0a, 0x0b, 0x72, 0x70, + 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0e, 0xe2, 0xde, 0x1f, 0x0a, 0x52, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x0a, 0x72, 0x70, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x9a, 0x01, 0x0a, 0x12, + 0x63, 0x6f, 0x6d, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x70, + 0x32, 0x70, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x1f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x70, 0x32, + 0x70, 0xa2, 0x02, 0x03, 0x54, 0x50, 0x58, 0xaa, 0x02, 0x0e, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x50, 0x32, 0x70, 0xca, 0x02, 0x0e, 0x54, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x50, 0x32, 0x70, 0xe2, 0x02, 0x1a, 0x54, 0x65, 0x6e, 0x64, + 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x5c, 0x50, 0x32, 0x70, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x54, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x74, 0x3a, 0x3a, 0x50, 0x32, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3561,27 +2164,20 @@ func file_tendermint_p2p_types_proto_rawDescGZIP() []byte { return file_tendermint_p2p_types_proto_rawDescData } -var file_tendermint_p2p_types_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_tendermint_p2p_types_proto_msgTypes = make([]protoimpl.MessageInfo, 3) var file_tendermint_p2p_types_proto_goTypes = []interface{}{ - (*ProtocolVersion)(nil), // 0: tendermint.p2p.ProtocolVersion - (*NodeInfo)(nil), // 1: tendermint.p2p.NodeInfo - (*NodeInfoOther)(nil), // 2: tendermint.p2p.NodeInfoOther - (*PeerInfo)(nil), // 3: tendermint.p2p.PeerInfo - (*PeerAddressInfo)(nil), // 4: tendermint.p2p.PeerAddressInfo - (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp + (*ProtocolVersion)(nil), // 0: tendermint.p2p.ProtocolVersion + (*DefaultNodeInfo)(nil), // 1: tendermint.p2p.DefaultNodeInfo + (*DefaultNodeInfoOther)(nil), // 2: tendermint.p2p.DefaultNodeInfoOther } var file_tendermint_p2p_types_proto_depIdxs = []int32{ - 0, // 0: tendermint.p2p.NodeInfo.protocol_version:type_name -> tendermint.p2p.ProtocolVersion - 2, // 1: tendermint.p2p.NodeInfo.other:type_name -> tendermint.p2p.NodeInfoOther - 4, // 2: tendermint.p2p.PeerInfo.address_info:type_name -> tendermint.p2p.PeerAddressInfo - 5, // 3: tendermint.p2p.PeerInfo.last_connected:type_name -> google.protobuf.Timestamp - 5, // 4: tendermint.p2p.PeerAddressInfo.last_dial_success:type_name -> google.protobuf.Timestamp - 5, // 5: tendermint.p2p.PeerAddressInfo.last_dial_failure:type_name -> google.protobuf.Timestamp - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 0, // 0: tendermint.p2p.DefaultNodeInfo.protocol_version:type_name -> tendermint.p2p.ProtocolVersion + 2, // 1: tendermint.p2p.DefaultNodeInfo.other:type_name -> tendermint.p2p.DefaultNodeInfoOther + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name } func init() { file_tendermint_p2p_types_proto_init() } @@ -3603,7 +2199,7 @@ func file_tendermint_p2p_types_proto_init() { } } file_tendermint_p2p_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfo); i { + switch v := v.(*DefaultNodeInfo); i { case 0: return &v.state case 1: @@ -3615,31 +2211,7 @@ func file_tendermint_p2p_types_proto_init() { } } file_tendermint_p2p_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfoOther); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_tendermint_p2p_types_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_tendermint_p2p_types_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerAddressInfo); i { + switch v := v.(*DefaultNodeInfoOther); i { case 0: return &v.state case 1: @@ -3657,7 +2229,7 @@ func file_tendermint_p2p_types_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tendermint_p2p_types_proto_rawDesc, NumEnums: 0, - NumMessages: 5, + NumMessages: 3, NumExtensions: 0, NumServices: 0, }, diff --git a/proto/cosmos/distribution/v1beta1/distribution.proto b/proto/cosmos/distribution/v1beta1/distribution.proto index 2f6c91efe3b3..7e7b98eaa06c 100644 --- a/proto/cosmos/distribution/v1beta1/distribution.proto +++ b/proto/cosmos/distribution/v1beta1/distribution.proto @@ -115,7 +115,13 @@ message FeePool { // CommunityPoolSpendProposal details a proposal for use of community funds, // together with how many coins are proposed to be spent, and to which // recipient account. +// +// Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no +// longer a need for an explicit CommunityPoolSpendProposal. To spend community +// pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov +// module via a v1 governance proposal. message CommunityPoolSpendProposal { + option deprecated = true; option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; option (gogoproto.goproto_stringer) = false; diff --git a/proto/cosmos/distribution/v1beta1/tx.proto b/proto/cosmos/distribution/v1beta1/tx.proto index 25f6433d2f56..9bcfe18d646e 100644 --- a/proto/cosmos/distribution/v1beta1/tx.proto +++ b/proto/cosmos/distribution/v1beta1/tx.proto @@ -1,7 +1,7 @@ syntax = "proto3"; package cosmos.distribution.v1beta1; -option go_package = "github.com/cosmos/cosmos-sdk/x/distribution/types"; +option go_package = "github.com/cosmos/cosmos-sdk/x/distribution/types"; option (gogoproto.equal_all) = true; import "gogoproto/gogo.proto"; @@ -14,25 +14,38 @@ import "cosmos/distribution/v1beta1/distribution.proto"; service Msg { // SetWithdrawAddress defines a method to change the withdraw address // for a delegator (or validator self-delegation). - rpc SetWithdrawAddress(MsgSetWithdrawAddress) returns (MsgSetWithdrawAddressResponse); + rpc SetWithdrawAddress(MsgSetWithdrawAddress) + returns (MsgSetWithdrawAddressResponse); // WithdrawDelegatorReward defines a method to withdraw rewards of delegator // from a single validator. - rpc WithdrawDelegatorReward(MsgWithdrawDelegatorReward) returns (MsgWithdrawDelegatorRewardResponse); + rpc WithdrawDelegatorReward(MsgWithdrawDelegatorReward) + returns (MsgWithdrawDelegatorRewardResponse); // WithdrawValidatorCommission defines a method to withdraw the // full commission to the validator address. - rpc WithdrawValidatorCommission(MsgWithdrawValidatorCommission) returns (MsgWithdrawValidatorCommissionResponse); + rpc WithdrawValidatorCommission(MsgWithdrawValidatorCommission) + returns (MsgWithdrawValidatorCommissionResponse); // FundCommunityPool defines a method to allow an account to directly // fund the community pool. - rpc FundCommunityPool(MsgFundCommunityPool) returns (MsgFundCommunityPoolResponse); + rpc FundCommunityPool(MsgFundCommunityPool) + returns (MsgFundCommunityPoolResponse); - // UpdateParams defines a governance operation for updating the x/distribution module - // parameters. The authority is defined in the keeper. + // UpdateParams defines a governance operation for updating the x/distribution + // module parameters. The authority is defined in the keeper. // // Since: cosmos-sdk 0.47 rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + + // CommunityPoolSpend defines a governance operation for sending tokens from + // the community pool in the x/distribution module to another account, which + // could be the governance module itself. The authority is defined in the + // keeper. + // + // Since: cosmos-sdk 0.47 + rpc CommunityPoolSpend(MsgCommunityPoolSpend) + returns (MsgCommunityPoolSpendResponse); } // MsgSetWithdrawAddress sets the withdraw address for @@ -47,7 +60,8 @@ message MsgSetWithdrawAddress { string withdraw_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type. +// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response +// type. message MsgSetWithdrawAddressResponse {} // MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator @@ -62,11 +76,14 @@ message MsgWithdrawDelegatorReward { string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type. +// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward +// response type. message MsgWithdrawDelegatorRewardResponse { // Since: cosmos-sdk 0.46 - repeated cosmos.base.v1beta1.Coin amount = 1 - [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + repeated cosmos.base.v1beta1.Coin amount = 1 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; } // MsgWithdrawValidatorCommission withdraws the full commission to the validator @@ -80,11 +97,14 @@ message MsgWithdrawValidatorCommission { string validator_address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -// MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type. +// MsgWithdrawValidatorCommissionResponse defines the +// Msg/WithdrawValidatorCommission response type. message MsgWithdrawValidatorCommissionResponse { // Since: cosmos-sdk 0.46 - repeated cosmos.base.v1beta1.Coin amount = 1 - [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + repeated cosmos.base.v1beta1.Coin amount = 1 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; } // MsgFundCommunityPool allows an account to directly @@ -95,8 +115,10 @@ message MsgFundCommunityPool { option (gogoproto.equal) = false; option (gogoproto.goproto_getters) = false; - repeated cosmos.base.v1beta1.Coin amount = 1 - [(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"]; + repeated cosmos.base.v1beta1.Coin amount = 1 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; string depositor = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } @@ -123,3 +145,26 @@ message MsgUpdateParams { // // Since: cosmos-sdk 0.47 message MsgUpdateParamsResponse {} + +// MsgCommunityPoolSpend defines a message for sending tokens from the community +// pool to another account. This message is typically executed via a governance +// proposal with the governance module being the executing authority. +// +// Since: cosmos-sdk 0.47 +message MsgCommunityPoolSpend { + option (cosmos.msg.v1.signer) = "authority"; + + // authority is the address of the governance account. + string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string recipient = 2; + repeated cosmos.base.v1beta1.Coin amount = 3 [ + (gogoproto.nullable) = false, + (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins" + ]; +} + +// MsgCommunityPoolSpendResponse defines the response to executing a +// MsgCommunityPoolSpend message. +// +// Since: cosmos-sdk 0.47 +message MsgCommunityPoolSpendResponse {} diff --git a/simapp/app.go b/simapp/app.go index 9854d15749ff..bba59c45e31a 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -14,6 +14,7 @@ import ( dbm "github.com/tendermint/tm-db" "cosmossdk.io/depinject" + "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" @@ -48,7 +49,6 @@ import ( crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" distr "github.com/cosmos/cosmos-sdk/x/distribution" - distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/cosmos/cosmos-sdk/x/evidence" @@ -104,7 +104,11 @@ var ( mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic( - []govclient.ProposalHandler{paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.LegacyProposalHandler, upgradeclient.LegacyCancelProposalHandler}, + []govclient.ProposalHandler{ + paramsclient.ProposalHandler, + upgradeclient.LegacyProposalHandler, + upgradeclient.LegacyCancelProposalHandler, + }, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, diff --git a/simapp/app_config.go b/simapp/app_config.go index 7f1484ab5581..d9dc7f17bdc1 100644 --- a/simapp/app_config.go +++ b/simapp/app_config.go @@ -3,28 +3,6 @@ package simapp import ( "time" - "google.golang.org/protobuf/types/known/durationpb" - - "cosmossdk.io/core/appconfig" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" - "github.com/cosmos/cosmos-sdk/x/authz" - banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" - crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" - evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" - "github.com/cosmos/cosmos-sdk/x/feegrant" - genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - "github.com/cosmos/cosmos-sdk/x/group" - minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/cosmos/cosmos-sdk/x/nft" - paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" - slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" - runtimev1alpha1 "cosmossdk.io/api/cosmos/app/runtime/v1alpha1" appv1alpha1 "cosmossdk.io/api/cosmos/app/v1alpha1" authmodulev1 "cosmossdk.io/api/cosmos/auth/module/v1" @@ -46,6 +24,27 @@ import ( txmodulev1 "cosmossdk.io/api/cosmos/tx/module/v1" upgrademodulev1 "cosmossdk.io/api/cosmos/upgrade/module/v1" vestingmodulev1 "cosmossdk.io/api/cosmos/vesting/module/v1" + "cosmossdk.io/core/appconfig" + "google.golang.org/protobuf/types/known/durationpb" + + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" + "github.com/cosmos/cosmos-sdk/x/authz" + banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types" + crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" + evidencetypes "github.com/cosmos/cosmos-sdk/x/evidence/types" + "github.com/cosmos/cosmos-sdk/x/feegrant" + genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types" + govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" + "github.com/cosmos/cosmos-sdk/x/group" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/cosmos/cosmos-sdk/x/nft" + paramstypes "github.com/cosmos/cosmos-sdk/x/params/types" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" ) // Alternatively the AppConfig can be defined as a YAML or a JSON file. @@ -130,8 +129,20 @@ var AppConfig = appconfig.Compose(&appv1alpha1.Config{ Config: appconfig.WrapAny(&vestingmodulev1.Module{}), }, { - Name: banktypes.ModuleName, - Config: appconfig.WrapAny(&bankmodulev1.Module{}), + Name: banktypes.ModuleName, + Config: appconfig.WrapAny(&bankmodulev1.Module{ + BlockedModuleAccountsOverride: []string{ + authtypes.FeeCollectorName, + distrtypes.ModuleName, + minttypes.ModuleName, + stakingtypes.BondedPoolName, + stakingtypes.NotBondedPoolName, + govtypes.ModuleName, + nft.ModuleName, + // We allow the following module accounts to receive funds: + // govtypes.ModuleName + }, + }), }, { Name: stakingtypes.ModuleName, diff --git a/simapp/app_legacy.go b/simapp/app_legacy.go index 641dcd6641d8..c386814195a7 100644 --- a/simapp/app_legacy.go +++ b/simapp/app_legacy.go @@ -54,7 +54,6 @@ import ( crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper" crisistypes "github.com/cosmos/cosmos-sdk/x/crisis/types" distr "github.com/cosmos/cosmos-sdk/x/distribution" - distrclient "github.com/cosmos/cosmos-sdk/x/distribution/client" distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/cosmos/cosmos-sdk/x/evidence" @@ -115,7 +114,11 @@ var ( mint.AppModuleBasic{}, distr.AppModuleBasic{}, gov.NewAppModuleBasic( - []govclient.ProposalHandler{paramsclient.ProposalHandler, distrclient.ProposalHandler, upgradeclient.LegacyProposalHandler, upgradeclient.LegacyCancelProposalHandler}, + []govclient.ProposalHandler{ + paramsclient.ProposalHandler, + upgradeclient.LegacyProposalHandler, + upgradeclient.LegacyCancelProposalHandler, + }, ), params.AppModuleBasic{}, crisis.AppModuleBasic{}, @@ -263,7 +266,11 @@ func NewSimApp( app.AccountKeeper = authkeeper.NewAccountKeeper(appCodec, keys[authtypes.StoreKey], authtypes.ProtoBaseAccount, maccPerms, sdk.Bech32MainPrefix, authtypes.NewModuleAddress(govtypes.ModuleName).String()) app.BankKeeper = bankkeeper.NewBaseKeeper( - appCodec, keys[banktypes.StoreKey], app.AccountKeeper, app.ModuleAccountAddrs(), authtypes.NewModuleAddress(govtypes.ModuleName).String(), + appCodec, + keys[banktypes.StoreKey], + app.AccountKeeper, + BlockedAddresses(), + authtypes.NewModuleAddress(govtypes.ModuleName).String(), ) app.StakingKeeper = stakingkeeper.NewKeeper( appCodec, keys[stakingtypes.StoreKey], app.AccountKeeper, app.BankKeeper, authtypes.NewModuleAddress(govtypes.ModuleName).String(), @@ -304,7 +311,6 @@ func NewSimApp( govRouter := govv1beta1.NewRouter() govRouter.AddRoute(govtypes.RouterKey, govv1beta1.ProposalHandler). AddRoute(paramproposal.RouterKey, params.NewParamChangeProposalHandler(app.ParamsKeeper)). - AddRoute(distrtypes.RouterKey, distr.NewCommunityPoolSpendProposalHandler(app.DistrKeeper)). AddRoute(upgradetypes.RouterKey, upgrade.NewSoftwareUpgradeProposalHandler(app.UpgradeKeeper)) govConfig := govtypes.DefaultConfig() /* @@ -542,16 +548,6 @@ func (app *SimApp) LoadHeight(height int64) error { return app.LoadVersion(height) } -// ModuleAccountAddrs returns all the app's module account addresses. -func (app *SimApp) ModuleAccountAddrs() map[string]bool { - modAccAddrs := make(map[string]bool) - for acc := range maccPerms { - modAccAddrs[authtypes.NewModuleAddress(acc).String()] = true - } - - return modAccAddrs -} - // LegacyAmino returns SimApp's amino codec. // // NOTE: This is solely to be used for testing purposes as it may be desirable @@ -651,9 +647,30 @@ func GetMaccPerms() map[string][]string { for k, v := range maccPerms { dupMaccPerms[k] = v } + return dupMaccPerms } +// ModuleAccountAddrsLegacy returns all the app's module account addresses. +func ModuleAccountAddrsLegacy() map[string]bool { + modAccAddrs := make(map[string]bool) + for acc := range maccPerms { + modAccAddrs[authtypes.NewModuleAddress(acc).String()] = true + } + + return modAccAddrs +} + +// BlockedAddresses returns all the app's blocked account addresses. +func BlockedAddresses() map[string]bool { + modAccAddrs := ModuleAccountAddrsLegacy() + + // allow the following addresses to receive funds + delete(modAccAddrs, authtypes.NewModuleAddress(govtypes.ModuleName).String()) + + return modAccAddrs +} + // initParamsKeeper init params keeper and its subspaces func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino, key, tkey storetypes.StoreKey) paramskeeper.Keeper { paramsKeeper := paramskeeper.NewKeeper(appCodec, legacyAmino, key, tkey) diff --git a/simapp/test_helpers.go b/simapp/test_helpers.go index 25362a410ad5..0741de8151d4 100644 --- a/simapp/test_helpers.go +++ b/simapp/test_helpers.go @@ -14,6 +14,7 @@ import ( "cosmossdk.io/depinject" "cosmossdk.io/math" + bam "github.com/cosmos/cosmos-sdk/baseapp" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" diff --git a/x/bank/module.go b/x/bank/module.go index 0730cb195a5d..91a77ecbb550 100644 --- a/x/bank/module.go +++ b/x/bank/module.go @@ -6,22 +6,19 @@ import ( "fmt" "time" - "github.com/tendermint/tendermint/crypto" - modulev1 "cosmossdk.io/api/cosmos/bank/module/v1" + "cosmossdk.io/core/appmodule" "cosmossdk.io/depinject" - store "github.com/cosmos/cosmos-sdk/store/types" - gwruntime "github.com/grpc-ecosystem/grpc-gateway/runtime" "github.com/spf13/cobra" abci "github.com/tendermint/tendermint/abci/types" - - "cosmossdk.io/core/appmodule" + "github.com/tendermint/tendermint/crypto" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" "github.com/cosmos/cosmos-sdk/runtime" + store "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" @@ -230,10 +227,10 @@ type bankOutputs struct { } func provideModule(in bankInputs) bankOutputs { - // configure blocked module accounts. + // Configure blocked module accounts. // - // default behavior for blockedAddresses is to regard any module mentioned in AccountKeeper's module account - // permissions as blocked. + // Default behavior for blockedAddresses is to regard any module mentioned in + // AccountKeeper's module account permissions as blocked. blockedAddresses := make(map[string]bool) if len(in.Config.BlockedModuleAccountsOverride) != 0 { for _, moduleName := range in.Config.BlockedModuleAccountsOverride { diff --git a/x/distribution/client/cli/tx.go b/x/distribution/client/cli/tx.go index 24174d9d080c..6e9dac49017f 100644 --- a/x/distribution/client/cli/tx.go +++ b/x/distribution/client/cli/tx.go @@ -13,7 +13,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/version" "github.com/cosmos/cosmos-sdk/x/distribution/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) // Transaction flags for the x/distribution module @@ -259,70 +258,3 @@ $ %s tx distribution fund-community-pool 100uatom --from mykey return cmd } - -// GetCmdSubmitProposal implements the command to submit a community-pool-spend proposal -func GetCmdSubmitProposal() *cobra.Command { - bech32PrefixAccAddr := sdk.GetConfig().GetBech32AccountAddrPrefix() - - cmd := &cobra.Command{ - Use: "community-pool-spend [proposal-file]", - Args: cobra.ExactArgs(1), - Short: "Submit a community pool spend proposal", - Long: strings.TrimSpace( - fmt.Sprintf(`Submit a community pool spend proposal along with an initial deposit. -The proposal details must be supplied via a JSON file. - -Example: -$ %s tx gov submit-proposal community-pool-spend --from= - -Where proposal.json contains: - -{ - "title": "Community Pool Spend", - "description": "Pay me some Atoms!", - "recipient": "%s1s5afhd6gxevu37mkqcvvsj8qeylhn0rz46zdlq", - "amount": "1000stake", - "deposit": "1000stake" -} -`, - version.AppName, bech32PrefixAccAddr, - ), - ), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - proposal, err := ParseCommunityPoolSpendProposalWithDeposit(clientCtx.Codec, args[0]) - if err != nil { - return err - } - - amount, err := sdk.ParseCoinsNormalized(proposal.Amount) - if err != nil { - return err - } - - deposit, err := sdk.ParseCoinsNormalized(proposal.Deposit) - if err != nil { - return err - } - - from := clientCtx.GetFromAddress() - recpAddr, err := sdk.AccAddressFromBech32(proposal.Recipient) - if err != nil { - return err - } - content := types.NewCommunityPoolSpendProposal(proposal.Title, proposal.Description, recpAddr, amount) - - msg, err := govtypes.NewMsgSubmitProposal(content, deposit, from) - if err != nil { - return err - } - - return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) - }, - } - - return cmd -} diff --git a/x/distribution/client/cli/tx_test.go b/x/distribution/client/cli/tx_test.go index ef0b9a9176b2..0c1ea11ff5f7 100644 --- a/x/distribution/client/cli/tx_test.go +++ b/x/distribution/client/cli/tx_test.go @@ -4,16 +4,11 @@ import ( "testing" "github.com/spf13/pflag" - - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/codec/types" - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" - sdktestutil "github.com/cosmos/cosmos-sdk/testutil" - "github.com/cosmos/cosmos-sdk/testutil/testdata" - "github.com/stretchr/testify/require" "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -62,27 +57,3 @@ func Test_splitAndCall_Splitting(t *testing.T) { require.NoError(t, err, "") require.Equal(t, 3, callCount) } - -func TestParseProposal(t *testing.T) { - interfaceRegistry := types.NewInterfaceRegistry() - cdc := codec.NewProtoCodec(interfaceRegistry) - - okJSON := sdktestutil.WriteToNewTempFile(t, ` -{ - "title": "Community Pool Spend", - "description": "Pay me some Atoms!", - "recipient": "cosmos1s5afhd6gxevu37mkqcvvsj8qeylhn0rz46zdlq", - "amount": "1000stake", - "deposit": "1000stake" -} -`) - - proposal, err := ParseCommunityPoolSpendProposalWithDeposit(cdc, okJSON.Name()) - require.NoError(t, err) - - require.Equal(t, "Community Pool Spend", proposal.Title) - require.Equal(t, "Pay me some Atoms!", proposal.Description) - require.Equal(t, "cosmos1s5afhd6gxevu37mkqcvvsj8qeylhn0rz46zdlq", proposal.Recipient) - require.Equal(t, "1000stake", proposal.Deposit) - require.Equal(t, "1000stake", proposal.Amount) -} diff --git a/x/distribution/client/cli/utils.go b/x/distribution/client/cli/utils.go deleted file mode 100644 index ce7024dd2e3d..000000000000 --- a/x/distribution/client/cli/utils.go +++ /dev/null @@ -1,24 +0,0 @@ -package cli - -import ( - "os" - - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/x/distribution/types" -) - -// ParseCommunityPoolSpendProposalWithDeposit reads and parses a CommunityPoolSpendProposalWithDeposit from a file. -func ParseCommunityPoolSpendProposalWithDeposit(cdc codec.JSONCodec, proposalFile string) (types.CommunityPoolSpendProposalWithDeposit, error) { - proposal := types.CommunityPoolSpendProposalWithDeposit{} - - contents, err := os.ReadFile(proposalFile) - if err != nil { - return proposal, err - } - - if err = cdc.UnmarshalJSON(contents, &proposal); err != nil { - return proposal, err - } - - return proposal, nil -} diff --git a/x/distribution/client/proposal_handler.go b/x/distribution/client/proposal_handler.go deleted file mode 100644 index 3b31272ad9c4..000000000000 --- a/x/distribution/client/proposal_handler.go +++ /dev/null @@ -1,11 +0,0 @@ -package client - -import ( - "github.com/cosmos/cosmos-sdk/x/distribution/client/cli" - govclient "github.com/cosmos/cosmos-sdk/x/gov/client" -) - -// ProposalHandler is the community spend proposal handler. -var ( - ProposalHandler = govclient.NewProposalHandler(cli.GetCmdSubmitProposal) -) diff --git a/x/distribution/client/testutil/suite.go b/x/distribution/client/testutil/suite.go index dac9c3a6dc73..2bd89cc5fb16 100644 --- a/x/distribution/client/testutil/suite.go +++ b/x/distribution/client/testutil/suite.go @@ -12,7 +12,6 @@ import ( tmcli "github.com/tendermint/tendermint/libs/cli" "github.com/cosmos/cosmos-sdk/client/flags" - sdktestutil "github.com/cosmos/cosmos-sdk/testutil" clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" "github.com/cosmos/cosmos-sdk/testutil/network" sdk "github.com/cosmos/cosmos-sdk/types" @@ -752,95 +751,3 @@ func (s *IntegrationTestSuite) TestNewFundCommunityPoolCmd() { }) } } - -func (s *IntegrationTestSuite) TestGetCmdSubmitProposal() { - s.T().Skip() // TODO to re-enable in #12274 - - val := s.network.Validators[0] - invalidProp := `{ - "title": "", - "description": "Pay me some Atoms!", - "recipient": "foo", - "amount": "-343foocoin", - "deposit": -324foocoin -}` - - // fund some tokens to the community pool - args := []string{ - sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(5431))).String(), - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - } - - invalidPropFile := sdktestutil.WriteToNewTempFile(s.T(), invalidProp) - cmd := cli.NewFundCommunityPoolCmd() - out, err := clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - s.Require().NoError(err) - - var txResp sdk.TxResponse - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &txResp), out.String()) - s.Require().Equal(uint32(0), txResp.Code) - - validProp := fmt.Sprintf(`{ - "title": "Community Pool Spend", - "description": "Pay me some Atoms!", - "recipient": "%s", - "amount": "%s", - "deposit": "%s" -}`, val.Address.String(), sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(5431)), sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(5431))) - - validPropFile := sdktestutil.WriteToNewTempFile(s.T(), validProp) - testCases := []struct { - name string - args []string - expectErr bool - expectedCode uint32 - respType proto.Message - }{ - { - "invalid proposal", - []string{ - invalidPropFile.Name(), - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - }, - true, 0, nil, - }, - { - "valid transaction", - []string{ - validPropFile.Name(), - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - }, - false, 0, &sdk.TxResponse{}, - }, - } - - for _, tc := range testCases { - tc := tc - - s.Run(tc.name, func() { - cmd := cli.GetCmdSubmitProposal() - clientCtx := val.ClientCtx - flags.AddTxFlagsToCmd(cmd) - - out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) - if tc.expectErr { - s.Require().Error(err) - } else { - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) - - txResp := tc.respType.(*sdk.TxResponse) - s.Require().Equal(tc.expectedCode, txResp.Code, out.String()) - } - }) - } -} diff --git a/x/distribution/handler.go b/x/distribution/handler.go deleted file mode 100644 index a8aa8eb3e58f..000000000000 --- a/x/distribution/handler.go +++ /dev/null @@ -1,21 +0,0 @@ -package distribution - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - "github.com/cosmos/cosmos-sdk/x/distribution/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" -) - -func NewCommunityPoolSpendProposalHandler(k keeper.Keeper) govtypes.Handler { - return func(ctx sdk.Context, content govtypes.Content) error { - switch c := content.(type) { - case *types.CommunityPoolSpendProposal: - return keeper.HandleCommunityPoolSpendProposal(ctx, k, c) - - default: - return sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized distr proposal content type: %T", c) - } - } -} diff --git a/x/distribution/keeper/msg_server.go b/x/distribution/keeper/msg_server.go index e2b863d892d9..3790824ab8dd 100644 --- a/x/distribution/keeper/msg_server.go +++ b/x/distribution/keeper/msg_server.go @@ -166,3 +166,37 @@ func (k msgServer) UpdateParams(goCtx context.Context, req *types.MsgUpdateParam return &types.MsgUpdateParamsResponse{}, nil } + +func (k msgServer) CommunityPoolSpend(goCtx context.Context, req *types.MsgCommunityPoolSpend) (*types.MsgCommunityPoolSpendResponse, error) { + if k.authority != req.Authority { + return nil, errors.Wrapf(govtypes.ErrInvalidSigner, "invalid authority; expected %s, got %s", k.authority, req.Authority) + } + + ctx := sdk.UnwrapSDKContext(goCtx) + + recipient, err := sdk.AccAddressFromBech32(req.Recipient) + if err != nil { + return nil, err + } + + if k.bankKeeper.BlockedAddr(recipient) { + return nil, errors.Wrapf(errors.ErrUnauthorized, "%s is not allowed to receive external funds", req.Recipient) + } + + if err := k.DistributeFromFeePool(ctx, req.Amount, recipient); err != nil { + return nil, err + } + + logger := k.Logger(ctx) + logger.Info("transferred from the community pool to recipient", "amount", req.Amount.String(), "recipient", req.Recipient) + + ctx.EventManager().EmitEvent( + sdk.NewEvent( + sdk.EventTypeMessage, + sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory), + sdk.NewAttribute(sdk.AttributeKeySender, req.Authority), + ), + ) + + return &types.MsgCommunityPoolSpendResponse{}, nil +} diff --git a/x/distribution/keeper/msg_server_test.go b/x/distribution/keeper/msg_server_test.go index fef8c9802294..86f0242c3672 100644 --- a/x/distribution/keeper/msg_server_test.go +++ b/x/distribution/keeper/msg_server_test.go @@ -145,3 +145,64 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { }) } } + +func (s *KeeperTestSuite) TestCommunityPoolSpend() { + recipient := sdk.AccAddress([]byte("addr1_______________")) + + testCases := []struct { + name string + input *types.MsgCommunityPoolSpend + expErr bool + expErrMsg string + }{ + { + name: "invalid authority", + input: &types.MsgCommunityPoolSpend{ + Authority: "invalid", + Recipient: recipient.String(), + Amount: sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100))), + }, + expErr: true, + expErrMsg: "invalid authority", + }, + { + name: "invalid recipient", + input: &types.MsgCommunityPoolSpend{ + Authority: s.distrKeeper.GetAuthority(), + Recipient: "invalid", + Amount: sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100))), + }, + expErr: true, + expErrMsg: "decoding bech32 failed", + }, + { + name: "valid message", + input: &types.MsgCommunityPoolSpend{ + Authority: s.distrKeeper.GetAuthority(), + Recipient: recipient.String(), + Amount: sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100))), + }, + expErr: false, + }, + } + + for _, tc := range testCases { + tc := tc + s.Run(tc.name, func() { + _, err := s.msgServer.CommunityPoolSpend(s.ctx, tc.input) + + if tc.expErr { + s.Require().Error(err) + s.Require().Contains(err.Error(), tc.expErrMsg) + } else { + s.Require().NoError(err) + + r, err := sdk.AccAddressFromBech32(tc.input.Recipient) + s.Require().NoError(err) + + b := s.bankKeeper.GetAllBalances(s.ctx, r) + s.Require().False(b.IsZero()) + } + }) + } +} diff --git a/x/distribution/keeper/proposal_handler.go b/x/distribution/keeper/proposal_handler.go deleted file mode 100644 index 16b218e961ea..000000000000 --- a/x/distribution/keeper/proposal_handler.go +++ /dev/null @@ -1,29 +0,0 @@ -package keeper - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - "github.com/cosmos/cosmos-sdk/x/distribution/types" -) - -// HandleCommunityPoolSpendProposal is a handler for executing a passed community spend proposal -func HandleCommunityPoolSpendProposal(ctx sdk.Context, k Keeper, p *types.CommunityPoolSpendProposal) error { - recipient, addrErr := sdk.AccAddressFromBech32(p.Recipient) - if addrErr != nil { - return addrErr - } - - if k.bankKeeper.BlockedAddr(recipient) { - return sdkerrors.Wrapf(sdkerrors.ErrUnauthorized, "%s is not allowed to receive external funds", p.Recipient) - } - - err := k.DistributeFromFeePool(ctx, p.Amount, recipient) - if err != nil { - return err - } - - logger := k.Logger(ctx) - logger.Info("transferred from the community pool to recipient", "amount", p.Amount.String(), "recipient", p.Recipient) - - return nil -} diff --git a/x/distribution/module.go b/x/distribution/module.go index c0f1f41da93b..354e85de6a94 100644 --- a/x/distribution/module.go +++ b/x/distribution/module.go @@ -27,12 +27,11 @@ import ( "github.com/cosmos/cosmos-sdk/x/distribution/simulation" "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" - govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" staking "github.com/cosmos/cosmos-sdk/x/staking/types" ) // ConsensusVersion defines the current x/distribution module consensus version. -const ConsensusVersion = 4 +const ConsensusVersion = 3 var ( _ module.AppModule = AppModule{} @@ -180,7 +179,7 @@ func (AppModule) GenerateGenesisState(simState *module.SimulationState) { // ProposalContents returns all the distribution content functions used to // simulate governance proposals. func (am AppModule) ProposalContents(simState module.SimulationState) []simtypes.WeightedProposalContent { - return simulation.ProposalContents(am.keeper) + return nil } // RegisterStoreDecoder registers a decoder for distribution module's types @@ -232,7 +231,6 @@ type distrOutputs struct { DistrKeeper keeper.Keeper Module runtime.AppModuleWrapper Hooks staking.StakingHooksWrapper - GovHandler govv1beta1.HandlerRoute } func provideModule(in distrInputs) distrOutputs { @@ -263,6 +261,5 @@ func provideModule(in distrInputs) distrOutputs { DistrKeeper: k, Module: runtime.WrapAppModule(m), Hooks: staking.StakingHooksWrapper{StakingHooks: k.Hooks()}, - GovHandler: govv1beta1.HandlerRoute{Handler: NewCommunityPoolSpendProposalHandler(k), RouteKey: types.RouterKey}, } } diff --git a/x/distribution/proposal_handler_test.go b/x/distribution/proposal_handler_test.go deleted file mode 100644 index 5acd7efdb0c3..000000000000 --- a/x/distribution/proposal_handler_test.go +++ /dev/null @@ -1,104 +0,0 @@ -package distribution_test - -import ( - "testing" - - "github.com/stretchr/testify/require" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - - "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" - authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" - bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - banktestutil "github.com/cosmos/cosmos-sdk/x/bank/testutil" - "github.com/cosmos/cosmos-sdk/x/distribution" - "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - "github.com/cosmos/cosmos-sdk/x/distribution/testutil" - "github.com/cosmos/cosmos-sdk/x/distribution/types" -) - -var ( - delPk1 = ed25519.GenPrivKey().PubKey() - delAddr1 = sdk.AccAddress(delPk1.Address()) - - amount = sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1))) -) - -func testProposal(recipient sdk.AccAddress, amount sdk.Coins) *types.CommunityPoolSpendProposal { - return types.NewCommunityPoolSpendProposal("Test", "description", recipient, amount) -} - -func TestProposalHandlerPassed(t *testing.T) { - var ( - accountKeeper authkeeper.AccountKeeper - bankKeeper bankkeeper.Keeper - distrKeeper keeper.Keeper - ) - - app, err := simtestutil.Setup(testutil.AppConfig, - &accountKeeper, - &bankKeeper, - &distrKeeper, - ) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false, tmproto.Header{}) - - recipient := delAddr1 - - // add coins to the module account - macc := distrKeeper.GetDistributionAccount(ctx) - balances := bankKeeper.GetAllBalances(ctx, macc.GetAddress()) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, macc.GetName(), amount)) - - accountKeeper.SetModuleAccount(ctx, macc) - - account := accountKeeper.NewAccountWithAddress(ctx, recipient) - accountKeeper.SetAccount(ctx, account) - require.True(t, bankKeeper.GetAllBalances(ctx, account.GetAddress()).IsZero()) - - feePool := distrKeeper.GetFeePool(ctx) - feePool.CommunityPool = sdk.NewDecCoinsFromCoins(amount...) - distrKeeper.SetFeePool(ctx, feePool) - - tp := testProposal(recipient, amount) - hdlr := distribution.NewCommunityPoolSpendProposalHandler(distrKeeper) - require.NoError(t, hdlr(ctx, tp)) - - balances = bankKeeper.GetAllBalances(ctx, recipient) - require.Equal(t, balances, amount) -} - -func TestProposalHandlerFailed(t *testing.T) { - var ( - accountKeeper authkeeper.AccountKeeper - bankKeeper bankkeeper.Keeper - distrKeeper keeper.Keeper - ) - - app, err := simtestutil.Setup(testutil.AppConfig, - &accountKeeper, - &bankKeeper, - &distrKeeper, - ) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false, tmproto.Header{}) - - // reset fee pool - distrKeeper.SetFeePool(ctx, types.InitialFeePool()) - - recipient := delAddr1 - - account := accountKeeper.NewAccountWithAddress(ctx, recipient) - accountKeeper.SetAccount(ctx, account) - require.True(t, bankKeeper.GetAllBalances(ctx, account.GetAddress()).IsZero()) - - tp := testProposal(recipient, amount) - hdlr := distribution.NewCommunityPoolSpendProposalHandler(distrKeeper) - require.Error(t, hdlr(ctx, tp)) - - balances := bankKeeper.GetAllBalances(ctx, recipient) - require.True(t, balances.IsZero()) -} diff --git a/x/distribution/simulation/proposals.go b/x/distribution/simulation/proposals.go deleted file mode 100644 index dab6f7cba46d..000000000000 --- a/x/distribution/simulation/proposals.go +++ /dev/null @@ -1,51 +0,0 @@ -package simulation - -import ( - "math/rand" - - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - "github.com/cosmos/cosmos-sdk/x/distribution/types" - "github.com/cosmos/cosmos-sdk/x/simulation" -) - -// OpWeightSubmitCommunitySpendProposal app params key for community spend proposal -const OpWeightSubmitCommunitySpendProposal = "op_weight_submit_community_spend_proposal" - -// ProposalContents defines the module weighted proposals' contents -func ProposalContents(k keeper.Keeper) []simtypes.WeightedProposalContent { - return []simtypes.WeightedProposalContent{ - simulation.NewWeightedProposalContent( - OpWeightSubmitCommunitySpendProposal, - simtestutil.DefaultWeightCommunitySpendProposal, - SimulateCommunityPoolSpendProposalContent(k), - ), - } -} - -// SimulateCommunityPoolSpendProposalContent generates random community-pool-spend proposal content -func SimulateCommunityPoolSpendProposalContent(k keeper.Keeper) simtypes.ContentSimulatorFn { - return func(r *rand.Rand, ctx sdk.Context, accs []simtypes.Account) simtypes.Content { - simAccount, _ := simtypes.RandomAcc(r, accs) - - balance := k.GetFeePool(ctx).CommunityPool - if balance.Empty() { - return nil - } - - denomIndex := r.Intn(len(balance)) - amount, err := simtypes.RandPositiveInt(r, balance[denomIndex].Amount.TruncateInt()) - if err != nil { - return nil - } - - return types.NewCommunityPoolSpendProposal( - simtypes.RandStringOfLength(r, 10), - simtypes.RandStringOfLength(r, 100), - simAccount.Address, - sdk.NewCoins(sdk.NewCoin(balance[denomIndex].Denom, amount)), - ) - } -} diff --git a/x/distribution/simulation/proposals_test.go b/x/distribution/simulation/proposals_test.go deleted file mode 100644 index 281a03fbee5c..000000000000 --- a/x/distribution/simulation/proposals_test.go +++ /dev/null @@ -1,53 +0,0 @@ -package simulation_test - -import ( - "math/rand" - "testing" - - "github.com/stretchr/testify/require" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" - sdk "github.com/cosmos/cosmos-sdk/types" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/cosmos/cosmos-sdk/x/distribution/keeper" - "github.com/cosmos/cosmos-sdk/x/distribution/simulation" - "github.com/cosmos/cosmos-sdk/x/distribution/testutil" -) - -func TestProposalContents(t *testing.T) { - var distrKeeper keeper.Keeper - app, err := simtestutil.Setup(testutil.AppConfig, &distrKeeper) - require.NoError(t, err) - - ctx := app.BaseApp.NewContext(false, tmproto.Header{}) - - // initialize parameters - s := rand.NewSource(1) - r := rand.New(s) - - accounts := simtypes.RandomAccounts(r, 3) - - // execute ProposalContents function - weightedProposalContent := simulation.ProposalContents(distrKeeper) - require.Len(t, weightedProposalContent, 1) - - w0 := weightedProposalContent[0] - - // tests w0 interface: - require.Equal(t, simulation.OpWeightSubmitCommunitySpendProposal, w0.AppParamsKey()) - require.Equal(t, simtestutil.DefaultWeightTextProposal, w0.DefaultWeight()) - - amount := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1)), sdk.NewCoin("atoken", sdk.NewInt(2))) - - feePool := distrKeeper.GetFeePool(ctx) - feePool.CommunityPool = sdk.NewDecCoinsFromCoins(amount...) - distrKeeper.SetFeePool(ctx, feePool) - - content := w0.ContentSimulatorFn()(r, ctx, accounts) - - require.Equal(t, "sTxPjfweXhSUkMhPjMaxKlMIJMOXcnQfyzeOcbWwNbeHVIkPZBSpYuLyYggwexjxusrBqDOTtGTOWeLrQKjLxzIivHSlcxgdXhhu", content.GetDescription()) - require.Equal(t, "xKGLwQvuyN", content.GetTitle()) - require.Equal(t, "distribution", content.ProposalRoute()) - require.Equal(t, "CommunityPoolSpend", content.ProposalType()) -} diff --git a/x/distribution/types/codec.go b/x/distribution/types/codec.go index 4180513eef58..7016de77db46 100644 --- a/x/distribution/types/codec.go +++ b/x/distribution/types/codec.go @@ -8,20 +8,20 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/msgservice" authzcodec "github.com/cosmos/cosmos-sdk/x/authz/codec" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" ) -// RegisterLegacyAminoCodec registers the necessary x/distribution interfaces and concrete types -// on the provided LegacyAmino codec. These types are used for Amino JSON serialization. +// RegisterLegacyAminoCodec registers the necessary x/distribution interfaces +// and concrete types on the provided LegacyAmino codec. These types are used +// for Amino JSON serialization. func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { legacy.RegisterAminoMsg(cdc, &MsgWithdrawDelegatorReward{}, "cosmos-sdk/MsgWithdrawDelegationReward") legacy.RegisterAminoMsg(cdc, &MsgWithdrawValidatorCommission{}, "cosmos-sdk/MsgWithdrawValCommission") legacy.RegisterAminoMsg(cdc, &MsgSetWithdrawAddress{}, "cosmos-sdk/MsgModifyWithdrawAddress") legacy.RegisterAminoMsg(cdc, &MsgFundCommunityPool{}, "cosmos-sdk/MsgFundCommunityPool") legacy.RegisterAminoMsg(cdc, &MsgUpdateParams{}, "cosmos-sdk/distribution/MsgUpdateParams") + legacy.RegisterAminoMsg(cdc, &MsgCommunityPoolSpend{}, "cosmos-sdk/distr/MsgCommunityPoolSpend") cdc.RegisterConcrete(Params{}, "cosmos-sdk/x/distribution/Params", nil) - cdc.RegisterConcrete(&CommunityPoolSpendProposal{}, "cosmos-sdk/CommunityPoolSpendProposal", nil) } func RegisterInterfaces(registry types.InterfaceRegistry) { @@ -32,10 +32,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgSetWithdrawAddress{}, &MsgFundCommunityPool{}, &MsgUpdateParams{}, - ) - registry.RegisterImplementations( - (*govtypes.Content)(nil), - &CommunityPoolSpendProposal{}, + &MsgCommunityPoolSpend{}, ) msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) @@ -51,7 +48,8 @@ func init() { cryptocodec.RegisterCrypto(amino) sdk.RegisterLegacyAminoCodec(amino) - // Register all Amino interfaces and concrete types on the authz Amino codec so that this can later be - // used to properly serialize MsgGrant and MsgExec instances + // Register all Amino interfaces and concrete types on the authz Amino codec + // so that this can later be used to properly serialize MsgGrant and MsgExec + // instances. RegisterLegacyAminoCodec(authzcodec.Amino) } diff --git a/x/distribution/types/distribution.pb.go b/x/distribution/types/distribution.pb.go index d96a343cb279..fb3887bdbe43 100644 --- a/x/distribution/types/distribution.pb.go +++ b/x/distribution/types/distribution.pb.go @@ -427,6 +427,13 @@ func (m *FeePool) GetCommunityPool() github_com_cosmos_cosmos_sdk_types.DecCoins // CommunityPoolSpendProposal details a proposal for use of community funds, // together with how many coins are proposed to be spent, and to which // recipient account. +// +// Deprecated: Do not use. As of the Cosmos SDK release v0.47.x, there is no +// longer a need for an explicit CommunityPoolSpendProposal. To spend community +// pool funds, a simple MsgCommunityPoolSpend can be invoked from the x/gov +// module via a v1 governance proposal. +// +// Deprecated: Do not use. type CommunityPoolSpendProposal struct { Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` @@ -628,67 +635,67 @@ func init() { } var fileDescriptor_cd78a31ea281a992 = []byte{ - // 948 bytes of a gzipped FileDescriptorProto + // 949 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x56, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xf7, 0xb4, 0x8e, 0x93, 0x4e, 0x69, 0x02, 0x13, 0x27, 0x75, 0xdc, 0xca, 0x8e, 0x56, 0xa2, - 0x04, 0xaa, 0x38, 0x4d, 0x7b, 0x8b, 0x10, 0x52, 0xec, 0x04, 0xc1, 0xa9, 0xd1, 0x06, 0x01, 0xe2, - 0xb2, 0x1a, 0xef, 0xbe, 0xd8, 0xa3, 0xec, 0xce, 0x2c, 0x33, 0xb3, 0x4e, 0x7a, 0xee, 0x85, 0x3f, - 0x17, 0x24, 0x2e, 0x88, 0x03, 0xca, 0x11, 0x71, 0xce, 0x17, 0xe0, 0x56, 0x71, 0x2a, 0xbd, 0x80, - 0x38, 0x04, 0x94, 0x5c, 0x10, 0x9f, 0x02, 0xcd, 0xce, 0x78, 0xed, 0x40, 0x88, 0x2a, 0xb5, 0x16, - 0x27, 0x7b, 0xde, 0x9b, 0xfd, 0xfd, 0x79, 0xf3, 0xf6, 0xcd, 0xe2, 0x56, 0x28, 0x54, 0x22, 0xd4, - 0x5a, 0xc4, 0x94, 0x96, 0xac, 0x9b, 0x69, 0x26, 0xf8, 0xda, 0x60, 0xbd, 0x0b, 0x9a, 0xae, 0x9f, - 0x0b, 0xb6, 0x52, 0x29, 0xb4, 0x20, 0xb7, 0xec, 0xfe, 0xd6, 0xb9, 0x94, 0xdb, 0x5f, 0xaf, 0xf6, - 0x44, 0x4f, 0xe4, 0xfb, 0xd6, 0xcc, 0x3f, 0xfb, 0x48, 0xbd, 0xe1, 0x28, 0xba, 0x54, 0x41, 0x01, - 0x1d, 0x0a, 0xe6, 0x20, 0xeb, 0x4b, 0x36, 0x1f, 0xd8, 0x07, 0x1d, 0x7e, 0xbe, 0xf0, 0xbe, 0xbc, - 0x8a, 0x2b, 0x3b, 0x54, 0xd2, 0x44, 0x11, 0x8a, 0x6f, 0x84, 0x22, 0x49, 0x32, 0xce, 0xf4, 0xa3, - 0x40, 0xd3, 0xc3, 0x1a, 0x5a, 0x46, 0x2b, 0xd7, 0xda, 0x6f, 0x3f, 0x39, 0x69, 0x96, 0x7e, 0x3b, - 0x69, 0xde, 0xe9, 0x31, 0xdd, 0xcf, 0xba, 0xad, 0x50, 0x24, 0x0e, 0xc2, 0xfd, 0xac, 0xaa, 0x68, - 0x7f, 0x4d, 0x3f, 0x4a, 0x41, 0xb5, 0xb6, 0x20, 0x7c, 0x76, 0xbc, 0x8a, 0x1d, 0xc3, 0x16, 0x84, - 0xfe, 0x2b, 0x05, 0xe4, 0x07, 0xf4, 0x90, 0xa4, 0xb8, 0x6a, 0x34, 0x1a, 0x21, 0xa9, 0x50, 0x20, - 0x03, 0x09, 0x07, 0x54, 0x46, 0xb5, 0x2b, 0x39, 0xd3, 0x3b, 0x2f, 0xc2, 0x54, 0x43, 0x3e, 0x31, - 0xd8, 0x3b, 0x0e, 0xda, 0xcf, 0x91, 0x89, 0xc4, 0x0b, 0x5d, 0xc1, 0x33, 0xf5, 0x2f, 0xca, 0xab, - 0x2f, 0x85, 0x72, 0x3e, 0x07, 0xff, 0x07, 0xe7, 0x7d, 0xbc, 0x70, 0xc0, 0x74, 0x3f, 0x92, 0xf4, - 0x20, 0xa0, 0x51, 0x24, 0x03, 0xe0, 0xb4, 0x1b, 0x43, 0x54, 0x2b, 0x2f, 0xa3, 0x95, 0x19, 0x7f, - 0x7e, 0x98, 0xdc, 0x8c, 0x22, 0xb9, 0x6d, 0x53, 0x1b, 0xe5, 0x6f, 0x8e, 0x9a, 0x25, 0xef, 0x67, - 0x84, 0xeb, 0x1f, 0xd2, 0x98, 0x45, 0x54, 0x0b, 0xf9, 0x1e, 0x53, 0x5a, 0x48, 0x16, 0xd2, 0xd8, - 0xe2, 0x2a, 0xf2, 0x39, 0xc2, 0x37, 0xc3, 0x2c, 0xc9, 0x62, 0xaa, 0xd9, 0x00, 0x9c, 0x93, 0x40, - 0x52, 0xcd, 0x44, 0x0d, 0x2d, 0x5f, 0x5d, 0xb9, 0x7e, 0xff, 0xb6, 0xeb, 0xb6, 0x96, 0x29, 0xc5, - 0xb0, 0x6b, 0x8c, 0xd6, 0x8e, 0x60, 0xbc, 0xfd, 0xc0, 0xb8, 0xfd, 0xe1, 0xf7, 0xe6, 0xdd, 0xe7, - 0x73, 0x6b, 0x9e, 0x51, 0xfe, 0xc2, 0x88, 0xd1, 0xea, 0xf0, 0x0d, 0x1f, 0x79, 0x03, 0xcf, 0x49, - 0xd8, 0x03, 0x09, 0x3c, 0x84, 0x20, 0x14, 0x19, 0xd7, 0xf9, 0x29, 0xde, 0xf0, 0x67, 0x8b, 0x70, - 0xc7, 0x44, 0xbd, 0xef, 0x10, 0xbe, 0x59, 0x78, 0xea, 0x64, 0x52, 0x02, 0xd7, 0x43, 0x43, 0xfb, - 0x78, 0xda, 0x9a, 0x50, 0x93, 0xd3, 0x3f, 0x64, 0x20, 0x8b, 0xb8, 0x92, 0x82, 0x64, 0xc2, 0xb6, - 0x5b, 0xd9, 0x77, 0x2b, 0xef, 0x6b, 0x84, 0x1b, 0x85, 0xc0, 0xcd, 0xd0, 0xd9, 0x85, 0xa8, 0x23, - 0x92, 0x84, 0x29, 0xc5, 0x04, 0x27, 0x9f, 0x62, 0x1c, 0x16, 0xab, 0xc9, 0x49, 0x1d, 0x23, 0xf1, - 0xbe, 0x40, 0xf8, 0x56, 0xa1, 0xea, 0x61, 0xa6, 0x95, 0xa6, 0x3c, 0x62, 0xbc, 0xf7, 0x7f, 0x94, - 0xce, 0xfb, 0x16, 0xe1, 0xf9, 0x42, 0xcc, 0x6e, 0x4c, 0x55, 0x7f, 0x7b, 0x00, 0x5c, 0x93, 0x37, - 0xf1, 0xab, 0x83, 0x61, 0x38, 0x70, 0xc5, 0x45, 0x79, 0x71, 0xe7, 0x8a, 0xf8, 0x4e, 0x1e, 0x26, - 0x1f, 0xe3, 0x99, 0x3d, 0x49, 0x43, 0x33, 0xcd, 0xdc, 0xeb, 0xfe, 0x62, 0x83, 0xa5, 0x40, 0x33, - 0x95, 0xaa, 0x5e, 0x20, 0x4e, 0x91, 0x18, 0x2f, 0x8e, 0xd4, 0x29, 0x93, 0x08, 0x20, 0xcf, 0xb8, - 0x8a, 0xdd, 0x6b, 0x5d, 0x32, 0x6a, 0x5b, 0x17, 0x40, 0xb6, 0xcb, 0x46, 0xb2, 0x5f, 0x1d, 0x5c, - 0xc0, 0xe6, 0xde, 0xe0, 0xc7, 0x08, 0x4f, 0xbf, 0x0b, 0xb0, 0x23, 0x44, 0x4c, 0x0e, 0xf1, 0xec, - 0x68, 0xa0, 0xa6, 0x42, 0xc4, 0x93, 0x3b, 0xa9, 0xd1, 0xe4, 0x36, 0xcc, 0xde, 0xe3, 0x2b, 0xb8, - 0xde, 0x19, 0x8f, 0xec, 0xa6, 0xc0, 0x23, 0x3b, 0xa6, 0x68, 0x4c, 0xaa, 0x78, 0x4a, 0x33, 0x1d, - 0x83, 0x9d, 0xf0, 0xbe, 0x5d, 0x90, 0x65, 0x7c, 0x3d, 0x02, 0x15, 0x4a, 0x96, 0x8e, 0x0e, 0xc9, - 0x1f, 0x0f, 0x91, 0xdb, 0xf8, 0x9a, 0x84, 0x90, 0xa5, 0x0c, 0xb8, 0xb6, 0x03, 0xd4, 0x1f, 0x05, - 0x48, 0x88, 0x2b, 0x34, 0xc9, 0x07, 0x41, 0x39, 0xb7, 0xb9, 0x74, 0xa1, 0xcd, 0xdc, 0xe3, 0x3d, - 0xe7, 0x71, 0xe5, 0x39, 0x3c, 0x5a, 0x83, 0x0e, 0x7a, 0xe3, 0xad, 0xcf, 0x8e, 0x9a, 0x25, 0x53, - 0xe9, 0x3f, 0x8f, 0x9a, 0xa5, 0x9f, 0x8e, 0x57, 0xeb, 0x8e, 0xa3, 0x27, 0x06, 0x63, 0x14, 0x5c, - 0x03, 0xd7, 0xde, 0x8f, 0x08, 0x2f, 0x6c, 0x41, 0x0c, 0xbd, 0xfc, 0xa8, 0x34, 0x95, 0x9a, 0xf1, - 0xde, 0xfb, 0x7c, 0x2f, 0x1f, 0x5e, 0xa9, 0x84, 0x01, 0x13, 0xe6, 0x62, 0x18, 0x6f, 0xdb, 0xd9, - 0x61, 0xd8, 0x75, 0xad, 0x8f, 0xa7, 0x94, 0xa6, 0xfb, 0xf0, 0x52, 0x5a, 0xd6, 0x42, 0x91, 0xbb, - 0xb8, 0xd2, 0x07, 0xd6, 0xeb, 0xdb, 0x12, 0x96, 0xdb, 0xf3, 0x7f, 0x9d, 0x34, 0xe7, 0x42, 0x09, - 0x66, 0xac, 0xf2, 0xc0, 0xa6, 0x7c, 0xb7, 0xc5, 0xfb, 0x05, 0xe1, 0x25, 0xe7, 0x81, 0x09, 0x5e, - 0xb8, 0x71, 0x37, 0xcd, 0x36, 0x7e, 0x6d, 0xd4, 0xe1, 0xe6, 0xaa, 0x01, 0xa5, 0xdc, 0xb5, 0x5d, - 0x7b, 0x76, 0xbc, 0x5a, 0x75, 0xe4, 0x9b, 0x36, 0xb3, 0xab, 0xa5, 0x19, 0x20, 0xa3, 0x57, 0xd6, - 0xc5, 0x09, 0xc3, 0x95, 0xe2, 0x22, 0x9e, 0x50, 0x83, 0x3a, 0x82, 0x8d, 0x19, 0x77, 0x7e, 0xc8, - 0x38, 0x7b, 0xfd, 0xbf, 0x7b, 0xf4, 0x23, 0xa6, 0xfb, 0x5b, 0x90, 0x0a, 0xc5, 0xf4, 0x84, 0xda, - 0x75, 0x71, 0xac, 0x5d, 0x4d, 0xca, 0xad, 0x48, 0x0d, 0x4f, 0x47, 0x96, 0xb8, 0x36, 0x95, 0x27, - 0x86, 0xcb, 0x8d, 0x3b, 0x43, 0xed, 0x97, 0xf7, 0x5d, 0xfb, 0xe1, 0xf7, 0xa7, 0x0d, 0xf4, 0xe4, - 0xb4, 0x81, 0x9e, 0x9e, 0x36, 0xd0, 0x1f, 0xa7, 0x0d, 0xf4, 0xd5, 0x59, 0xa3, 0xf4, 0xf4, 0xac, - 0x51, 0xfa, 0xf5, 0xac, 0x51, 0xfa, 0x64, 0xfd, 0xd2, 0xb2, 0x1d, 0x9e, 0xff, 0x4e, 0xcc, 0xab, - 0xd8, 0xad, 0xe4, 0xdf, 0x6a, 0x0f, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x53, 0x1f, 0xdb, 0x28, - 0x4b, 0x0a, 0x00, 0x00, + 0x14, 0xf7, 0xb4, 0x8e, 0x93, 0xbe, 0xd2, 0x04, 0x26, 0x4e, 0xea, 0xb8, 0x95, 0x1d, 0xad, 0x44, + 0x09, 0x2a, 0x71, 0x9a, 0xf6, 0x16, 0x21, 0xa4, 0xd8, 0x09, 0x82, 0x53, 0xa3, 0x0d, 0x02, 0xc4, + 0x65, 0x35, 0xde, 0x9d, 0xd8, 0xa3, 0xec, 0xce, 0x2c, 0x33, 0xb3, 0x4e, 0x7a, 0x46, 0x48, 0xfc, + 0xb9, 0x20, 0x71, 0x41, 0x1c, 0x50, 0x8e, 0x88, 0x73, 0xbe, 0x00, 0xb7, 0x8a, 0x53, 0xe9, 0x05, + 0xc4, 0x21, 0xa0, 0xe4, 0x82, 0xf8, 0x14, 0x68, 0x76, 0xc6, 0x6b, 0x07, 0x42, 0x54, 0xa9, 0xb5, + 0x38, 0xd9, 0xf3, 0xde, 0xec, 0xef, 0xcf, 0x9b, 0xb7, 0x6f, 0x16, 0x5a, 0xa1, 0x50, 0x89, 0x50, + 0x6b, 0x11, 0x53, 0x5a, 0xb2, 0x6e, 0xa6, 0x99, 0xe0, 0x6b, 0x83, 0xf5, 0x2e, 0xd5, 0x64, 0xfd, + 0x5c, 0xb0, 0x95, 0x4a, 0xa1, 0x05, 0xbe, 0x65, 0xf7, 0xb7, 0xce, 0xa5, 0xdc, 0xfe, 0x7a, 0xb5, + 0x27, 0x7a, 0x22, 0xdf, 0xb7, 0x66, 0xfe, 0xd9, 0x47, 0xea, 0x0d, 0x47, 0xd1, 0x25, 0x8a, 0x16, + 0xd0, 0xa1, 0x60, 0x0e, 0xb2, 0xbe, 0x64, 0xf3, 0x81, 0x7d, 0xd0, 0xe1, 0xe7, 0x0b, 0xef, 0xcb, + 0xab, 0x50, 0xd9, 0x21, 0x92, 0x24, 0x0a, 0x13, 0xb8, 0x11, 0x8a, 0x24, 0xc9, 0x38, 0xd3, 0x8f, + 0x02, 0x4d, 0x0e, 0x6b, 0x68, 0x19, 0xad, 0x5c, 0x6b, 0xbf, 0xf9, 0xf8, 0xa4, 0x59, 0xfa, 0xed, + 0xa4, 0x79, 0xa7, 0xc7, 0x74, 0x3f, 0xeb, 0xb6, 0x42, 0x91, 0x38, 0x08, 0xf7, 0xb3, 0xaa, 0xa2, + 0xfd, 0x35, 0xfd, 0x28, 0xa5, 0xaa, 0xb5, 0x45, 0xc3, 0xa7, 0xc7, 0xab, 0xe0, 0x18, 0xb6, 0x68, + 0xe8, 0xbf, 0x54, 0x40, 0xbe, 0x47, 0x0e, 0x71, 0x0a, 0x55, 0xa3, 0xd1, 0x08, 0x49, 0x85, 0xa2, + 0x32, 0x90, 0xf4, 0x80, 0xc8, 0xa8, 0x76, 0x25, 0x67, 0x7a, 0xeb, 0x79, 0x98, 0x6a, 0xc8, 0xc7, + 0x06, 0x7b, 0xc7, 0x41, 0xfb, 0x39, 0x32, 0x96, 0xb0, 0xd0, 0x15, 0x3c, 0x53, 0xff, 0xa2, 0xbc, + 0xfa, 0x42, 0x28, 0xe7, 0x73, 0xf0, 0x7f, 0x70, 0xde, 0x87, 0x85, 0x03, 0xa6, 0xfb, 0x91, 0x24, + 0x07, 0x01, 0x89, 0x22, 0x19, 0x50, 0x4e, 0xba, 0x31, 0x8d, 0x6a, 0xe5, 0x65, 0xb4, 0x32, 0xe3, + 0xcf, 0x0f, 0x93, 0x9b, 0x51, 0x24, 0xb7, 0x6d, 0x6a, 0xa3, 0xfc, 0xcd, 0x51, 0xb3, 0xe4, 0xfd, + 0x8c, 0xa0, 0xfe, 0x3e, 0x89, 0x59, 0x44, 0xb4, 0x90, 0xef, 0x30, 0xa5, 0x85, 0x64, 0x21, 0x89, + 0x2d, 0xae, 0xc2, 0x9f, 0x23, 0xb8, 0x19, 0x66, 0x49, 0x16, 0x13, 0xcd, 0x06, 0xd4, 0x39, 0x09, + 0x24, 0xd1, 0x4c, 0xd4, 0xd0, 0xf2, 0xd5, 0x95, 0xeb, 0xf7, 0x6f, 0xbb, 0x6e, 0x6b, 0x99, 0x52, + 0x0c, 0xbb, 0xc6, 0x68, 0xed, 0x08, 0xc6, 0xdb, 0x0f, 0x8c, 0xdb, 0x1f, 0x7e, 0x6f, 0xde, 0x7d, + 0x36, 0xb7, 0xe6, 0x19, 0xe5, 0x2f, 0x8c, 0x18, 0xad, 0x0e, 0xdf, 0xf0, 0xe1, 0xd7, 0x60, 0x4e, + 0xd2, 0x3d, 0x2a, 0x29, 0x0f, 0x69, 0x10, 0x8a, 0x8c, 0xeb, 0xfc, 0x14, 0x6f, 0xf8, 0xb3, 0x45, + 0xb8, 0x63, 0xa2, 0xde, 0x77, 0x08, 0x6e, 0x16, 0x9e, 0x3a, 0x99, 0x94, 0x94, 0xeb, 0xa1, 0xa1, + 0x7d, 0x98, 0xb6, 0x26, 0xd4, 0xe4, 0xf4, 0x0f, 0x19, 0xf0, 0x22, 0x54, 0x52, 0x2a, 0x99, 0xb0, + 0xed, 0x56, 0xf6, 0xdd, 0xca, 0xfb, 0x1a, 0x41, 0xa3, 0x10, 0xb8, 0x19, 0x3a, 0xbb, 0x34, 0xea, + 0x88, 0x24, 0x61, 0x4a, 0x31, 0xc1, 0xf1, 0xc7, 0x00, 0x61, 0xb1, 0x9a, 0x9c, 0xd4, 0x31, 0x12, + 0xef, 0x0b, 0x04, 0xb7, 0x0a, 0x55, 0x0f, 0x33, 0xad, 0x34, 0xe1, 0x11, 0xe3, 0xbd, 0xff, 0xa3, + 0x74, 0xde, 0xb7, 0x08, 0xe6, 0x0b, 0x31, 0xbb, 0x31, 0x51, 0xfd, 0xed, 0x01, 0xe5, 0x1a, 0xbf, + 0x0e, 0x2f, 0x0f, 0x86, 0xe1, 0xc0, 0x15, 0x17, 0xe5, 0xc5, 0x9d, 0x2b, 0xe2, 0x3b, 0x79, 0x18, + 0x7f, 0x08, 0x33, 0x7b, 0x92, 0x84, 0x66, 0x9a, 0xb9, 0xd7, 0xfd, 0xf9, 0x06, 0x4b, 0x81, 0x66, + 0x2a, 0x55, 0xbd, 0x40, 0x9c, 0xc2, 0x31, 0x2c, 0x8e, 0xd4, 0x29, 0x93, 0x08, 0x68, 0x9e, 0x71, + 0x15, 0xbb, 0xd7, 0xba, 0x64, 0xd4, 0xb6, 0x2e, 0x80, 0x6c, 0x97, 0x8d, 0x64, 0xbf, 0x3a, 0xb8, + 0x80, 0xcd, 0xbd, 0xc1, 0x9f, 0x20, 0x98, 0x7e, 0x9b, 0xd2, 0x1d, 0x21, 0x62, 0x7c, 0x08, 0xb3, + 0xa3, 0x81, 0x9a, 0x0a, 0x11, 0x4f, 0xee, 0xa4, 0x46, 0x93, 0xdb, 0x30, 0x7b, 0x9f, 0x5e, 0x81, + 0x7a, 0x67, 0x3c, 0xb2, 0x9b, 0x52, 0x1e, 0xd9, 0x31, 0x45, 0x62, 0x5c, 0x85, 0x29, 0xcd, 0x74, + 0x4c, 0xed, 0x84, 0xf7, 0xed, 0x02, 0x2f, 0xc3, 0xf5, 0x88, 0xaa, 0x50, 0xb2, 0x74, 0x74, 0x48, + 0xfe, 0x78, 0x08, 0xdf, 0x86, 0x6b, 0x92, 0x86, 0x2c, 0x65, 0x94, 0x6b, 0x3b, 0x40, 0xfd, 0x51, + 0x00, 0x87, 0x50, 0x21, 0x49, 0x3e, 0x08, 0xca, 0xb9, 0xcd, 0xa5, 0x0b, 0x6d, 0xe6, 0x1e, 0xef, + 0x39, 0x8f, 0x2b, 0xcf, 0xe0, 0xd1, 0x1a, 0x74, 0xd0, 0x1b, 0x6f, 0x7c, 0x76, 0xd4, 0x2c, 0x99, + 0x4a, 0xff, 0x79, 0xd4, 0x2c, 0xfd, 0x74, 0xbc, 0x5a, 0x77, 0x1c, 0x3d, 0x31, 0x18, 0xa3, 0xe0, + 0xda, 0x28, 0x44, 0xde, 0x8f, 0x08, 0x16, 0xb6, 0x68, 0x4c, 0x7b, 0xf9, 0x61, 0x69, 0x22, 0x35, + 0xe3, 0xbd, 0x77, 0xf9, 0x5e, 0x3e, 0xbe, 0x52, 0x49, 0x07, 0x4c, 0x98, 0xab, 0x61, 0xbc, 0x71, + 0x67, 0x87, 0x61, 0xd7, 0xb7, 0x3e, 0x4c, 0x29, 0x4d, 0xf6, 0xe9, 0x0b, 0x69, 0x5a, 0x0b, 0x85, + 0xef, 0x42, 0xa5, 0x4f, 0x59, 0xaf, 0x6f, 0x8b, 0x58, 0x6e, 0xcf, 0xff, 0x75, 0xd2, 0x9c, 0x0b, + 0x25, 0x35, 0x83, 0x95, 0x07, 0x36, 0xe5, 0xbb, 0x2d, 0xde, 0x2f, 0x08, 0x96, 0x9c, 0x07, 0x26, + 0x78, 0xe1, 0xc6, 0xdd, 0x35, 0xdb, 0xf0, 0xca, 0xa8, 0xc7, 0xcd, 0x65, 0x43, 0x95, 0x72, 0x17, + 0x77, 0xed, 0xe9, 0xf1, 0x6a, 0xd5, 0x91, 0x6f, 0xda, 0xcc, 0xae, 0x96, 0x66, 0x84, 0x8c, 0x5e, + 0x5a, 0x17, 0xc7, 0x0c, 0x2a, 0xc5, 0x55, 0x3c, 0xa1, 0x16, 0x75, 0x04, 0x1b, 0x33, 0xee, 0x04, + 0x91, 0x71, 0xf6, 0xea, 0x7f, 0x77, 0xe9, 0x07, 0x4c, 0xf7, 0xb7, 0x68, 0x2a, 0x14, 0xd3, 0x13, + 0x6a, 0xd8, 0xc5, 0xb1, 0x86, 0x35, 0x29, 0xb7, 0xc2, 0x35, 0x98, 0x8e, 0x2c, 0x71, 0x6d, 0x2a, + 0x4f, 0x0c, 0x97, 0x1b, 0x77, 0x86, 0xda, 0x2f, 0xef, 0xbc, 0xf6, 0xc3, 0xef, 0x4f, 0x1b, 0xe8, + 0xf1, 0x69, 0x03, 0x3d, 0x39, 0x6d, 0xa0, 0x3f, 0x4e, 0x1b, 0xe8, 0xab, 0xb3, 0x46, 0xe9, 0xc9, + 0x59, 0xa3, 0xf4, 0xeb, 0x59, 0xa3, 0xf4, 0xd1, 0xfa, 0xa5, 0x65, 0x3b, 0x3c, 0xff, 0xa5, 0x98, + 0x57, 0xb1, 0x5b, 0xc9, 0xbf, 0xd6, 0x1e, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x74, 0x65, + 0x56, 0x4d, 0x0a, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { diff --git a/x/distribution/types/msg.go b/x/distribution/types/msg.go index 7efd47e72d3b..9537568461d4 100644 --- a/x/distribution/types/msg.go +++ b/x/distribution/types/msg.go @@ -12,10 +12,17 @@ const ( TypeMsgWithdrawValidatorCommission = "withdraw_validator_commission" TypeMsgFundCommunityPool = "fund_community_pool" TypeMsgUpdateParams = "update_params" + TypeMsgCommunityPoolSpend = "community_pool_spend" ) // Verify interface at compile time -var _, _, _, _ sdk.Msg = &MsgSetWithdrawAddress{}, &MsgWithdrawDelegatorReward{}, &MsgWithdrawValidatorCommission{}, &MsgUpdateParams{} +var ( + _ sdk.Msg = (*MsgSetWithdrawAddress)(nil) + _ sdk.Msg = (*MsgWithdrawDelegatorReward)(nil) + _ sdk.Msg = (*MsgWithdrawValidatorCommission)(nil) + _ sdk.Msg = (*MsgUpdateParams)(nil) + _ sdk.Msg = (*MsgCommunityPoolSpend)(nil) +) func NewMsgSetWithdrawAddress(delAddr, withdrawAddr sdk.AccAddress) *MsgSetWithdrawAddress { return &MsgSetWithdrawAddress{ @@ -181,3 +188,32 @@ func (msg MsgUpdateParams) ValidateBasic() error { return msg.Params.ValidateBasic() } + +// Route returns the MsgCommunityPoolSpend message route. +func (msg MsgCommunityPoolSpend) Route() string { return ModuleName } + +// Type returns the MsgCommunityPoolSpend message type. +func (msg MsgCommunityPoolSpend) Type() string { return TypeMsgCommunityPoolSpend } + +// GetSigners returns the signer addresses that are expected to sign the result +// of GetSignBytes, which is the authority. +func (msg MsgCommunityPoolSpend) GetSigners() []sdk.AccAddress { + authority, _ := sdk.AccAddressFromBech32(msg.Authority) + return []sdk.AccAddress{authority} +} + +// GetSignBytes returns the raw bytes for a MsgCommunityPoolSpend message that +// the expected signer needs to sign. +func (msg MsgCommunityPoolSpend) GetSignBytes() []byte { + bz := ModuleCdc.MustMarshalJSON(&msg) + return sdk.MustSortJSON(bz) +} + +// ValidateBasic performs basic MsgCommunityPoolSpend message validation. +func (msg MsgCommunityPoolSpend) ValidateBasic() error { + if _, err := sdk.AccAddressFromBech32(msg.Authority); err != nil { + return sdkerrors.ErrInvalidAddress.Wrapf("invalid authority address: %s", err) + } + + return msg.Amount.Validate() +} diff --git a/x/distribution/types/proposal.go b/x/distribution/types/proposal.go index c2b9130b614d..a78ab6212735 100644 --- a/x/distribution/types/proposal.go +++ b/x/distribution/types/proposal.go @@ -3,58 +3,8 @@ package types import ( "fmt" "strings" - - sdk "github.com/cosmos/cosmos-sdk/types" - govtypes "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" -) - -const ( - // ProposalTypeCommunityPoolSpend defines the type for a CommunityPoolSpendProposal - ProposalTypeCommunityPoolSpend = "CommunityPoolSpend" ) -// Assert CommunityPoolSpendProposal implements govtypes.Content at compile-time -var _ govtypes.Content = &CommunityPoolSpendProposal{} - -func init() { - govtypes.RegisterProposalType(ProposalTypeCommunityPoolSpend) -} - -// NewCommunityPoolSpendProposal creates a new community pool spend proposal. -// -//nolint:interfacer -func NewCommunityPoolSpendProposal(title, description string, recipient sdk.AccAddress, amount sdk.Coins) *CommunityPoolSpendProposal { - return &CommunityPoolSpendProposal{title, description, recipient.String(), amount} -} - -// GetTitle returns the title of a community pool spend proposal. -func (csp *CommunityPoolSpendProposal) GetTitle() string { return csp.Title } - -// GetDescription returns the description of a community pool spend proposal. -func (csp *CommunityPoolSpendProposal) GetDescription() string { return csp.Description } - -// GetDescription returns the routing key of a community pool spend proposal. -func (csp *CommunityPoolSpendProposal) ProposalRoute() string { return RouterKey } - -// ProposalType returns the type of a community pool spend proposal. -func (csp *CommunityPoolSpendProposal) ProposalType() string { return ProposalTypeCommunityPoolSpend } - -// ValidateBasic runs basic stateless validity checks -func (csp *CommunityPoolSpendProposal) ValidateBasic() error { - err := govtypes.ValidateAbstract(csp) - if err != nil { - return err - } - if !csp.Amount.IsValid() { - return ErrInvalidProposalAmount - } - if csp.Recipient == "" { - return ErrEmptyProposalRecipient - } - - return nil -} - // String implements the Stringer interface. func (csp CommunityPoolSpendProposal) String() string { var b strings.Builder diff --git a/x/distribution/types/tx.pb.go b/x/distribution/types/tx.pb.go index a0d2bb14f58d..726294a2192b 100644 --- a/x/distribution/types/tx.pb.go +++ b/x/distribution/types/tx.pb.go @@ -72,7 +72,8 @@ func (m *MsgSetWithdrawAddress) XXX_DiscardUnknown() { var xxx_messageInfo_MsgSetWithdrawAddress proto.InternalMessageInfo -// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response type. +// MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response +// type. type MsgSetWithdrawAddressResponse struct { } @@ -149,7 +150,8 @@ func (m *MsgWithdrawDelegatorReward) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWithdrawDelegatorReward proto.InternalMessageInfo -// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward response type. +// MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward +// response type. type MsgWithdrawDelegatorRewardResponse struct { // Since: cosmos-sdk 0.46 Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` @@ -234,7 +236,8 @@ func (m *MsgWithdrawValidatorCommission) XXX_DiscardUnknown() { var xxx_messageInfo_MsgWithdrawValidatorCommission proto.InternalMessageInfo -// MsgWithdrawValidatorCommissionResponse defines the Msg/WithdrawValidatorCommission response type. +// MsgWithdrawValidatorCommissionResponse defines the +// Msg/WithdrawValidatorCommission response type. type MsgWithdrawValidatorCommissionResponse struct { // Since: cosmos-sdk 0.46 Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,1,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` @@ -458,6 +461,112 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgCommunityPoolSpend defines a message for sending tokens from the community +// pool to another account. This message is typically executed via a governance +// proposal with the governance module being the executing authority. +// +// Since: cosmos-sdk 0.47 +type MsgCommunityPoolSpend struct { + // authority is the address of the governance account. + Authority string `protobuf:"bytes,1,opt,name=authority,proto3" json:"authority,omitempty"` + Recipient string `protobuf:"bytes,2,opt,name=recipient,proto3" json:"recipient,omitempty"` + Amount github_com_cosmos_cosmos_sdk_types.Coins `protobuf:"bytes,3,rep,name=amount,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coins" json:"amount"` +} + +func (m *MsgCommunityPoolSpend) Reset() { *m = MsgCommunityPoolSpend{} } +func (m *MsgCommunityPoolSpend) String() string { return proto.CompactTextString(m) } +func (*MsgCommunityPoolSpend) ProtoMessage() {} +func (*MsgCommunityPoolSpend) Descriptor() ([]byte, []int) { + return fileDescriptor_ed4f433d965e58ca, []int{10} +} +func (m *MsgCommunityPoolSpend) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCommunityPoolSpend) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCommunityPoolSpend.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCommunityPoolSpend) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCommunityPoolSpend.Merge(m, src) +} +func (m *MsgCommunityPoolSpend) XXX_Size() int { + return m.Size() +} +func (m *MsgCommunityPoolSpend) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCommunityPoolSpend.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCommunityPoolSpend proto.InternalMessageInfo + +func (m *MsgCommunityPoolSpend) GetAuthority() string { + if m != nil { + return m.Authority + } + return "" +} + +func (m *MsgCommunityPoolSpend) GetRecipient() string { + if m != nil { + return m.Recipient + } + return "" +} + +func (m *MsgCommunityPoolSpend) GetAmount() github_com_cosmos_cosmos_sdk_types.Coins { + if m != nil { + return m.Amount + } + return nil +} + +// MsgCommunityPoolSpendResponse defines the response to executing a +// MsgCommunityPoolSpend message. +// +// Since: cosmos-sdk 0.47 +type MsgCommunityPoolSpendResponse struct { +} + +func (m *MsgCommunityPoolSpendResponse) Reset() { *m = MsgCommunityPoolSpendResponse{} } +func (m *MsgCommunityPoolSpendResponse) String() string { return proto.CompactTextString(m) } +func (*MsgCommunityPoolSpendResponse) ProtoMessage() {} +func (*MsgCommunityPoolSpendResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_ed4f433d965e58ca, []int{11} +} +func (m *MsgCommunityPoolSpendResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgCommunityPoolSpendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgCommunityPoolSpendResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgCommunityPoolSpendResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgCommunityPoolSpendResponse.Merge(m, src) +} +func (m *MsgCommunityPoolSpendResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgCommunityPoolSpendResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgCommunityPoolSpendResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgCommunityPoolSpendResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgSetWithdrawAddress)(nil), "cosmos.distribution.v1beta1.MsgSetWithdrawAddress") proto.RegisterType((*MsgSetWithdrawAddressResponse)(nil), "cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse") @@ -469,6 +578,8 @@ func init() { proto.RegisterType((*MsgFundCommunityPoolResponse)(nil), "cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse") proto.RegisterType((*MsgUpdateParams)(nil), "cosmos.distribution.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cosmos.distribution.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgCommunityPoolSpend)(nil), "cosmos.distribution.v1beta1.MsgCommunityPoolSpend") + proto.RegisterType((*MsgCommunityPoolSpendResponse)(nil), "cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse") } func init() { @@ -476,50 +587,54 @@ func init() { } var fileDescriptor_ed4f433d965e58ca = []byte{ - // 680 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x41, 0x6b, 0xd4, 0x40, - 0x14, 0xce, 0x58, 0x2d, 0x74, 0x2a, 0xb6, 0x0d, 0xd5, 0xb6, 0xa9, 0x66, 0x4b, 0x14, 0x29, 0x62, - 0x13, 0x77, 0x15, 0xc5, 0xf5, 0x20, 0xdd, 0xb5, 0xde, 0x16, 0xcb, 0x16, 0x15, 0xbc, 0x94, 0xd9, - 0xcd, 0x90, 0x0e, 0x36, 0x99, 0x90, 0x99, 0x74, 0xdb, 0xa3, 0x22, 0xa8, 0x07, 0x41, 0xf0, 0x2a, - 0xd8, 0xa3, 0x78, 0xf2, 0xe0, 0xd1, 0x9b, 0x97, 0xa2, 0x97, 0xe2, 0xc9, 0x93, 0xca, 0xf6, 0xa0, - 0x3f, 0x43, 0x92, 0x4c, 0xd2, 0x5d, 0x37, 0x4d, 0xba, 0x56, 0x7a, 0xca, 0x92, 0xf7, 0x7d, 0xdf, - 0xfb, 0xde, 0xdb, 0xf7, 0x1e, 0x81, 0xe7, 0x9a, 0x94, 0xd9, 0x94, 0x19, 0x26, 0x61, 0xdc, 0x23, - 0x0d, 0x9f, 0x13, 0xea, 0x18, 0x6b, 0xc5, 0x06, 0xe6, 0xa8, 0x68, 0xf0, 0x75, 0xdd, 0xf5, 0x28, - 0xa7, 0xf2, 0x74, 0x84, 0xd2, 0x3b, 0x51, 0xba, 0x40, 0x29, 0xe3, 0x16, 0xb5, 0x68, 0x88, 0x33, - 0x82, 0x5f, 0x11, 0x45, 0x51, 0x85, 0x70, 0x03, 0x31, 0x9c, 0x08, 0x36, 0x29, 0x71, 0x44, 0x7c, - 0x2a, 0x8a, 0x2f, 0x47, 0x44, 0xa1, 0x1f, 0x85, 0x26, 0x04, 0xd5, 0x66, 0x96, 0xb1, 0x56, 0x0c, - 0x1e, 0x22, 0xa0, 0x67, 0x99, 0xed, 0xf2, 0x16, 0xe2, 0xb5, 0x4f, 0x00, 0x9e, 0xac, 0x31, 0x6b, - 0x09, 0xf3, 0xfb, 0x84, 0xaf, 0x98, 0x1e, 0x6a, 0xcd, 0x9b, 0xa6, 0x87, 0x19, 0x93, 0x17, 0xe0, - 0x98, 0x89, 0x57, 0xb1, 0x85, 0x38, 0xf5, 0x96, 0x51, 0xf4, 0x72, 0x12, 0xcc, 0x80, 0xd9, 0xa1, - 0xca, 0xe4, 0xd7, 0x0f, 0x73, 0xe3, 0xc2, 0x8f, 0x80, 0x2f, 0x71, 0x8f, 0x38, 0x56, 0x7d, 0x34, - 0xa1, 0xc4, 0x32, 0x55, 0x38, 0xda, 0x12, 0xca, 0x89, 0xca, 0x91, 0x1c, 0x95, 0x91, 0x56, 0xb7, - 0x97, 0xb2, 0xfa, 0x6c, 0xb3, 0x20, 0xfd, 0xde, 0x2c, 0x48, 0x8f, 0x7f, 0xbd, 0xbf, 0xd0, 0x6b, - 0x4b, 0x2b, 0xc0, 0x33, 0xa9, 0x45, 0xd4, 0x31, 0x73, 0xa9, 0xc3, 0xb0, 0xf6, 0x19, 0x40, 0xa5, - 0xc6, 0xac, 0x38, 0x7c, 0x2b, 0x56, 0xa8, 0xe3, 0x16, 0xf2, 0xcc, 0xff, 0x55, 0xeb, 0x02, 0x1c, - 0x5b, 0x43, 0xab, 0xc4, 0xec, 0x92, 0xc9, 0x2b, 0x76, 0x34, 0xa1, 0xec, 0xb7, 0xda, 0xe7, 0x00, - 0x6a, 0x7b, 0x17, 0x13, 0xd7, 0x2c, 0x37, 0xe1, 0x20, 0xb2, 0xa9, 0xef, 0xf0, 0x49, 0x30, 0x33, - 0x30, 0x3b, 0x5c, 0x9a, 0x12, 0xb3, 0xa1, 0x07, 0xf3, 0x16, 0x8f, 0xa6, 0x5e, 0xa5, 0xc4, 0xa9, - 0x5c, 0xda, 0xfa, 0x5e, 0x90, 0xde, 0xfd, 0x28, 0xcc, 0x5a, 0x84, 0xaf, 0xf8, 0x0d, 0xbd, 0x49, - 0x6d, 0x31, 0x6f, 0xe2, 0x31, 0xc7, 0xcc, 0x87, 0x06, 0xdf, 0x70, 0x31, 0x0b, 0x09, 0xac, 0x2e, - 0xa4, 0xb5, 0xa7, 0x00, 0xaa, 0x1d, 0x5e, 0xee, 0xc5, 0xb5, 0x54, 0xa9, 0x6d, 0x13, 0xc6, 0x08, - 0x75, 0xd2, 0xbb, 0x02, 0x0e, 0xd8, 0x95, 0x1e, 0x45, 0xed, 0x05, 0x80, 0xe7, 0xb3, 0x9d, 0x1c, - 0x6e, 0x67, 0xbe, 0x00, 0x38, 0x5e, 0x63, 0xd6, 0x6d, 0xdf, 0x31, 0x03, 0x0b, 0xbe, 0x43, 0xf8, - 0xc6, 0x22, 0xa5, 0xab, 0x87, 0x92, 0x5d, 0xbe, 0x0a, 0x87, 0x4c, 0xec, 0x52, 0x46, 0x38, 0xf5, - 0x72, 0x47, 0x70, 0x17, 0x5a, 0x3e, 0xd5, 0xd9, 0xe5, 0xdd, 0xf7, 0x9a, 0x0a, 0x4f, 0xa7, 0x15, - 0x93, 0x2c, 0xd8, 0x6b, 0x00, 0x47, 0x6a, 0xcc, 0xba, 0xeb, 0x9a, 0x88, 0xe3, 0x45, 0xe4, 0x21, - 0x9b, 0x05, 0x1e, 0x90, 0xcf, 0x57, 0xa8, 0x47, 0xf8, 0x46, 0xee, 0x1f, 0xbe, 0x0b, 0x95, 0xe7, - 0xe1, 0xa0, 0x1b, 0x2a, 0x84, 0xc6, 0x87, 0x4b, 0x67, 0xf5, 0x8c, 0xdb, 0xaa, 0x47, 0xc9, 0x2a, - 0x47, 0x83, 0x56, 0xd5, 0x05, 0xb1, 0x7c, 0x22, 0xb4, 0x9f, 0x48, 0x6a, 0x53, 0x70, 0xe2, 0x2f, - 0x77, 0xb1, 0xf3, 0xd2, 0xc7, 0x63, 0x70, 0xa0, 0xc6, 0x2c, 0xf9, 0x09, 0x80, 0x72, 0xca, 0x19, - 0x2c, 0x65, 0x26, 0x4f, 0xbd, 0x3a, 0x4a, 0xb9, 0x7f, 0x4e, 0x32, 0x9b, 0xaf, 0x00, 0x9c, 0xd8, - 0xeb, 0x4c, 0x5d, 0xcb, 0xd3, 0xdd, 0x83, 0xa8, 0xdc, 0xfc, 0x47, 0x62, 0xe2, 0xea, 0x0d, 0x80, - 0xd3, 0x59, 0x3b, 0x7e, 0x63, 0xbf, 0x09, 0x52, 0xc8, 0x4a, 0xf5, 0x00, 0xe4, 0xc4, 0xe1, 0x23, - 0x00, 0xc7, 0x7a, 0x77, 0xad, 0x98, 0x27, 0xdd, 0x43, 0x51, 0xae, 0xf7, 0x4d, 0x49, 0x3c, 0x78, - 0xf0, 0x78, 0xd7, 0x02, 0x5c, 0xcc, 0x93, 0xea, 0x44, 0x2b, 0x57, 0xfa, 0x41, 0xc7, 0x39, 0x2b, - 0x77, 0xde, 0xb6, 0x55, 0xb0, 0xd5, 0x56, 0xc1, 0x76, 0x5b, 0x05, 0x3f, 0xdb, 0x2a, 0x78, 0xb9, - 0xa3, 0x4a, 0xdb, 0x3b, 0xaa, 0xf4, 0x6d, 0x47, 0x95, 0x1e, 0x14, 0x33, 0x0f, 0xc7, 0x7a, 0xf7, - 0x67, 0x42, 0x78, 0x47, 0x1a, 0x83, 0xe1, 0x87, 0xc1, 0xe5, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xf9, 0xb3, 0x17, 0x49, 0xf7, 0x08, 0x00, 0x00, + // 737 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x31, 0x6f, 0xd3, 0x40, + 0x14, 0xce, 0x51, 0x14, 0xa9, 0x57, 0x44, 0x5b, 0xab, 0xd0, 0xd6, 0x2d, 0x4e, 0x65, 0x10, 0xaa, + 0x10, 0x75, 0x48, 0x40, 0x20, 0xc2, 0x80, 0x9a, 0x50, 0xb6, 0x88, 0x2a, 0x15, 0x20, 0xb1, 0x54, + 0x4e, 0x7c, 0x72, 0x4f, 0xd4, 0x3e, 0xcb, 0x77, 0x69, 0xda, 0x11, 0x84, 0x04, 0x0c, 0x48, 0x48, + 0xac, 0x48, 0x74, 0x44, 0x4c, 0x0c, 0xfc, 0x83, 0x2e, 0x15, 0x2c, 0x15, 0x13, 0x13, 0xa0, 0x74, + 0x80, 0x9f, 0x81, 0x6c, 0x9f, 0x2f, 0x09, 0x76, 0xec, 0xa6, 0x85, 0x4e, 0x8e, 0xfc, 0xde, 0xf7, + 0xdd, 0xf7, 0xbd, 0x7b, 0xef, 0xc5, 0xf0, 0x42, 0x83, 0x50, 0x8b, 0xd0, 0xbc, 0x81, 0x29, 0x73, + 0x71, 0xbd, 0xc9, 0x30, 0xb1, 0xf3, 0x1b, 0x85, 0x3a, 0x62, 0x7a, 0x21, 0xcf, 0x36, 0x35, 0xc7, + 0x25, 0x8c, 0x48, 0x33, 0x41, 0x96, 0xd6, 0x9d, 0xa5, 0xf1, 0x2c, 0x79, 0xc2, 0x24, 0x26, 0xf1, + 0xf3, 0xf2, 0xde, 0xaf, 0x00, 0x22, 0x2b, 0x9c, 0xb8, 0xae, 0x53, 0x24, 0x08, 0x1b, 0x04, 0xdb, + 0x3c, 0x3e, 0x1d, 0xc4, 0x57, 0x03, 0x20, 0xe7, 0x0f, 0x42, 0x93, 0x1c, 0x6a, 0x51, 0x33, 0xbf, + 0x51, 0xf0, 0x1e, 0x3c, 0xa0, 0x25, 0x89, 0xed, 0xd1, 0xe6, 0xe7, 0xab, 0x3b, 0x00, 0x9e, 0xa9, + 0x52, 0x73, 0x05, 0xb1, 0x87, 0x98, 0xad, 0x19, 0xae, 0xde, 0x5a, 0x34, 0x0c, 0x17, 0x51, 0x2a, + 0x2d, 0xc1, 0x71, 0x03, 0xad, 0x23, 0x53, 0x67, 0xc4, 0x5d, 0xd5, 0x83, 0x97, 0x53, 0x60, 0x0e, + 0xcc, 0x0f, 0x97, 0xa7, 0xbe, 0x7e, 0x5a, 0x98, 0xe0, 0x7a, 0x78, 0xfa, 0x0a, 0x73, 0xb1, 0x6d, + 0xd6, 0xc6, 0x04, 0x24, 0xa4, 0xa9, 0xc0, 0xb1, 0x16, 0x67, 0x16, 0x2c, 0x27, 0x52, 0x58, 0x46, + 0x5b, 0xbd, 0x5a, 0x4a, 0xca, 0x8b, 0xed, 0x5c, 0xe6, 0xf7, 0x76, 0x2e, 0xf3, 0xf4, 0xd7, 0xc7, + 0x4b, 0x51, 0x59, 0x6a, 0x0e, 0x9e, 0x8b, 0x35, 0x51, 0x43, 0xd4, 0x21, 0x36, 0x45, 0xea, 0x67, + 0x00, 0xe5, 0x2a, 0x35, 0xc3, 0xf0, 0x9d, 0x90, 0xa1, 0x86, 0x5a, 0xba, 0x6b, 0xfc, 0x2b, 0xaf, + 0x4b, 0x70, 0x7c, 0x43, 0x5f, 0xc7, 0x46, 0x0f, 0x4d, 0x9a, 0xd9, 0x31, 0x01, 0x39, 0xa8, 0xdb, + 0x97, 0x00, 0xaa, 0xfd, 0xcd, 0x84, 0x9e, 0xa5, 0x06, 0xcc, 0xea, 0x16, 0x69, 0xda, 0x6c, 0x0a, + 0xcc, 0x0d, 0xcd, 0x8f, 0x14, 0xa7, 0x79, 0x6f, 0x68, 0x5e, 0xbf, 0x85, 0xad, 0xa9, 0x55, 0x08, + 0xb6, 0xcb, 0x57, 0x76, 0xbf, 0xe7, 0x32, 0x1f, 0x7e, 0xe4, 0xe6, 0x4d, 0xcc, 0xd6, 0x9a, 0x75, + 0xad, 0x41, 0x2c, 0xde, 0x6f, 0xfc, 0xb1, 0x40, 0x8d, 0xc7, 0x79, 0xb6, 0xe5, 0x20, 0xea, 0x03, + 0x68, 0x8d, 0x53, 0xab, 0xcf, 0x01, 0x54, 0xba, 0xb4, 0x3c, 0x08, 0xbd, 0x54, 0x88, 0x65, 0x61, + 0x4a, 0x31, 0xb1, 0xe3, 0xab, 0x02, 0x8e, 0x58, 0x95, 0x08, 0xa3, 0xfa, 0x0a, 0xc0, 0x8b, 0xc9, + 0x4a, 0x8e, 0xb7, 0x32, 0x5f, 0x00, 0x9c, 0xa8, 0x52, 0xf3, 0x6e, 0xd3, 0x36, 0x3c, 0x09, 0x4d, + 0x1b, 0xb3, 0xad, 0x65, 0x42, 0xd6, 0x8f, 0xe5, 0x74, 0xe9, 0x3a, 0x1c, 0x36, 0x90, 0x43, 0x28, + 0x66, 0xc4, 0x4d, 0x6d, 0xc1, 0x4e, 0x6a, 0xe9, 0x6c, 0x77, 0x95, 0x3b, 0xef, 0x55, 0x05, 0xce, + 0xc6, 0x99, 0x11, 0x03, 0xf6, 0x16, 0xc0, 0xd1, 0x2a, 0x35, 0xef, 0x3b, 0x86, 0xce, 0xd0, 0xb2, + 0xee, 0xea, 0x16, 0xf5, 0x34, 0xe8, 0x4d, 0xb6, 0x46, 0x5c, 0xcc, 0xb6, 0x52, 0x2f, 0xbc, 0x93, + 0x2a, 0x2d, 0xc2, 0xac, 0xe3, 0x33, 0xf8, 0xc2, 0x47, 0x8a, 0xe7, 0xb5, 0x84, 0xdd, 0xaa, 0x05, + 0x87, 0x95, 0x4f, 0x7a, 0xa5, 0xaa, 0x71, 0x60, 0xe9, 0xb4, 0x2f, 0x5f, 0x50, 0xaa, 0xd3, 0x70, + 0xf2, 0x2f, 0x75, 0x42, 0x79, 0x3b, 0xd8, 0x80, 0x3d, 0xb6, 0x56, 0x1c, 0x64, 0x1b, 0x87, 0xd6, + 0x3f, 0x0b, 0x87, 0x5d, 0xd4, 0xc0, 0x0e, 0x46, 0x36, 0x0b, 0x6a, 0x5f, 0xeb, 0xbc, 0xe8, 0xba, + 0xfe, 0xa1, 0xff, 0x76, 0xfd, 0x11, 0xff, 0xc1, 0x82, 0x8c, 0x7a, 0x0c, 0xab, 0x50, 0xdc, 0xc9, + 0xc2, 0xa1, 0x2a, 0x35, 0xa5, 0x67, 0x00, 0x4a, 0x31, 0x7f, 0x06, 0xc5, 0xc4, 0x2b, 0x88, 0xdd, + 0xbd, 0x72, 0x69, 0x70, 0x8c, 0x98, 0xd0, 0x37, 0x00, 0x4e, 0xf6, 0x5b, 0xd6, 0x37, 0xd2, 0x78, + 0xfb, 0x00, 0xe5, 0xdb, 0x87, 0x04, 0x0a, 0x55, 0xef, 0x00, 0x9c, 0x49, 0xda, 0x74, 0xb7, 0x0e, + 0x7a, 0x40, 0x0c, 0x58, 0xae, 0x1c, 0x01, 0x2c, 0x14, 0x3e, 0x01, 0x70, 0x3c, 0xba, 0x71, 0x0a, + 0x69, 0xd4, 0x11, 0x88, 0x7c, 0x73, 0x60, 0x88, 0xd0, 0xe0, 0xc2, 0x53, 0x3d, 0x6b, 0xe0, 0x72, + 0x1a, 0x55, 0x77, 0xb6, 0x7c, 0x6d, 0x90, 0x6c, 0x71, 0xa6, 0xd7, 0xb6, 0x31, 0x13, 0x9c, 0xda, + 0xb6, 0x51, 0x4c, 0x7a, 0xdb, 0xf6, 0x9f, 0xa2, 0xf2, 0xbd, 0xf7, 0x6d, 0x05, 0xec, 0xb6, 0x15, + 0xb0, 0xd7, 0x56, 0xc0, 0xcf, 0xb6, 0x02, 0x5e, 0xef, 0x2b, 0x99, 0xbd, 0x7d, 0x25, 0xf3, 0x6d, + 0x5f, 0xc9, 0x3c, 0x2a, 0x24, 0x8e, 0xf1, 0x66, 0xef, 0x37, 0x9b, 0x3f, 0xd5, 0xf5, 0xac, 0xff, + 0x95, 0x76, 0xf5, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x28, 0x43, 0xe6, 0xb3, 0x84, 0x0a, 0x00, + 0x00, } func (this *MsgSetWithdrawAddressResponse) Equal(that interface{}) bool { @@ -670,6 +785,62 @@ func (this *MsgUpdateParamsResponse) Equal(that interface{}) bool { } return true } +func (this *MsgCommunityPoolSpend) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*MsgCommunityPoolSpend) + if !ok { + that2, ok := that.(MsgCommunityPoolSpend) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.Authority != that1.Authority { + return false + } + if this.Recipient != that1.Recipient { + return false + } + if len(this.Amount) != len(that1.Amount) { + return false + } + for i := range this.Amount { + if !this.Amount[i].Equal(&that1.Amount[i]) { + return false + } + } + return true +} +func (this *MsgCommunityPoolSpendResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*MsgCommunityPoolSpendResponse) + if !ok { + that2, ok := that.(MsgCommunityPoolSpendResponse) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + return true +} // Reference imports to suppress errors if they are not otherwise used. var _ context.Context @@ -695,11 +866,18 @@ type MsgClient interface { // FundCommunityPool defines a method to allow an account to directly // fund the community pool. FundCommunityPool(ctx context.Context, in *MsgFundCommunityPool, opts ...grpc.CallOption) (*MsgFundCommunityPoolResponse, error) - // UpdateParams defines a governance operation for updating the x/distribution module - // parameters. The authority is defined in the keeper. + // UpdateParams defines a governance operation for updating the x/distribution + // module parameters. The authority is defined in the keeper. // // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + // CommunityPoolSpend defines a governance operation for sending tokens from + // the community pool in the x/distribution module to another account, which + // could be the governance module itself. The authority is defined in the + // keeper. + // + // Since: cosmos-sdk 0.47 + CommunityPoolSpend(ctx context.Context, in *MsgCommunityPoolSpend, opts ...grpc.CallOption) (*MsgCommunityPoolSpendResponse, error) } type msgClient struct { @@ -755,6 +933,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) CommunityPoolSpend(ctx context.Context, in *MsgCommunityPoolSpend, opts ...grpc.CallOption) (*MsgCommunityPoolSpendResponse, error) { + out := new(MsgCommunityPoolSpendResponse) + err := c.cc.Invoke(ctx, "/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // SetWithdrawAddress defines a method to change the withdraw address @@ -769,11 +956,18 @@ type MsgServer interface { // FundCommunityPool defines a method to allow an account to directly // fund the community pool. FundCommunityPool(context.Context, *MsgFundCommunityPool) (*MsgFundCommunityPoolResponse, error) - // UpdateParams defines a governance operation for updating the x/distribution module - // parameters. The authority is defined in the keeper. + // UpdateParams defines a governance operation for updating the x/distribution + // module parameters. The authority is defined in the keeper. // // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // CommunityPoolSpend defines a governance operation for sending tokens from + // the community pool in the x/distribution module to another account, which + // could be the governance module itself. The authority is defined in the + // keeper. + // + // Since: cosmos-sdk 0.47 + CommunityPoolSpend(context.Context, *MsgCommunityPoolSpend) (*MsgCommunityPoolSpendResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -795,6 +989,9 @@ func (*UnimplementedMsgServer) FundCommunityPool(ctx context.Context, req *MsgFu func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) CommunityPoolSpend(ctx context.Context, req *MsgCommunityPoolSpend) (*MsgCommunityPoolSpendResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CommunityPoolSpend not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -890,6 +1087,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_CommunityPoolSpend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgCommunityPoolSpend) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).CommunityPoolSpend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.distribution.v1beta1.Msg/CommunityPoolSpend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).CommunityPoolSpend(ctx, req.(*MsgCommunityPoolSpend)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.distribution.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -914,6 +1129,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "CommunityPoolSpend", + Handler: _Msg_CommunityPoolSpend_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/distribution/v1beta1/tx.proto", @@ -1250,6 +1469,80 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgCommunityPoolSpend) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgCommunityPoolSpend) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCommunityPoolSpend) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Amount) > 0 { + for iNdEx := len(m.Amount) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Amount[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.Recipient) > 0 { + i -= len(m.Recipient) + copy(dAtA[i:], m.Recipient) + i = encodeVarintTx(dAtA, i, uint64(len(m.Recipient))) + i-- + dAtA[i] = 0x12 + } + if len(m.Authority) > 0 { + i -= len(m.Authority) + copy(dAtA[i:], m.Authority) + i = encodeVarintTx(dAtA, i, uint64(len(m.Authority))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *MsgCommunityPoolSpendResponse) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MsgCommunityPoolSpendResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgCommunityPoolSpendResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1399,6 +1692,38 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } +func (m *MsgCommunityPoolSpend) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Authority) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + l = len(m.Recipient) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if len(m.Amount) > 0 { + for _, e := range m.Amount { + l = e.Size() + n += 1 + l + sovTx(uint64(l)) + } + } + return n +} + +func (m *MsgCommunityPoolSpendResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -2264,6 +2589,204 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgCommunityPoolSpend) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCommunityPoolSpend: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCommunityPoolSpend: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Authority", 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.Authority = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Recipient", 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.Recipient = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Amount", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Amount = append(m.Amount, types.Coin{}) + if err := m.Amount[len(m.Amount)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgCommunityPoolSpendResponse) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MsgCommunityPoolSpendResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgCommunityPoolSpendResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0