diff --git a/api/stratos/pot/v1/pot.pulsar.go b/api/stratos/pot/v1/pot.pulsar.go index c7eacd37..f420b311 100644 --- a/api/stratos/pot/v1/pot.pulsar.go +++ b/api/stratos/pot/v1/pot.pulsar.go @@ -4482,6 +4482,9 @@ var ( fd_Metrics_chain_mining_reward protoreflect.FieldDescriptor fd_Metrics_resource_mining_reward protoreflect.FieldDescriptor fd_Metrics_meta_mining_reward protoreflect.FieldDescriptor + fd_Metrics_resource_node_deposit protoreflect.FieldDescriptor + fd_Metrics_meta_node_deposit protoreflect.FieldDescriptor + fd_Metrics_unissued_prepay protoreflect.FieldDescriptor ) func init() { @@ -4499,6 +4502,9 @@ func init() { fd_Metrics_chain_mining_reward = md_Metrics.Fields().ByName("chain_mining_reward") fd_Metrics_resource_mining_reward = md_Metrics.Fields().ByName("resource_mining_reward") fd_Metrics_meta_mining_reward = md_Metrics.Fields().ByName("meta_mining_reward") + fd_Metrics_resource_node_deposit = md_Metrics.Fields().ByName("resource_node_deposit") + fd_Metrics_meta_node_deposit = md_Metrics.Fields().ByName("meta_node_deposit") + fd_Metrics_unissued_prepay = md_Metrics.Fields().ByName("unissued_prepay") } var _ protoreflect.Message = (*fastReflection_Metrics)(nil) @@ -4638,6 +4644,24 @@ func (x *fastReflection_Metrics) Range(f func(protoreflect.FieldDescriptor, prot return } } + if x.ResourceNodeDeposit != "" { + value := protoreflect.ValueOfString(x.ResourceNodeDeposit) + if !f(fd_Metrics_resource_node_deposit, value) { + return + } + } + if x.MetaNodeDeposit != "" { + value := protoreflect.ValueOfString(x.MetaNodeDeposit) + if !f(fd_Metrics_meta_node_deposit, value) { + return + } + } + if x.UnissuedPrepay != "" { + value := protoreflect.ValueOfString(x.UnissuedPrepay) + if !f(fd_Metrics_unissued_prepay, value) { + return + } + } } // Has reports whether a field is populated. @@ -4677,6 +4701,12 @@ func (x *fastReflection_Metrics) Has(fd protoreflect.FieldDescriptor) bool { return x.ResourceMiningReward != "" case "stratos.pot.v1.Metrics.meta_mining_reward": return x.MetaMiningReward != "" + case "stratos.pot.v1.Metrics.resource_node_deposit": + return x.ResourceNodeDeposit != "" + case "stratos.pot.v1.Metrics.meta_node_deposit": + return x.MetaNodeDeposit != "" + case "stratos.pot.v1.Metrics.unissued_prepay": + return x.UnissuedPrepay != "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -4717,6 +4747,12 @@ func (x *fastReflection_Metrics) Clear(fd protoreflect.FieldDescriptor) { x.ResourceMiningReward = "" case "stratos.pot.v1.Metrics.meta_mining_reward": x.MetaMiningReward = "" + case "stratos.pot.v1.Metrics.resource_node_deposit": + x.ResourceNodeDeposit = "" + case "stratos.pot.v1.Metrics.meta_node_deposit": + x.MetaNodeDeposit = "" + case "stratos.pot.v1.Metrics.unissued_prepay": + x.UnissuedPrepay = "" default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -4769,6 +4805,15 @@ func (x *fastReflection_Metrics) Get(descriptor protoreflect.FieldDescriptor) pr case "stratos.pot.v1.Metrics.meta_mining_reward": value := x.MetaMiningReward return protoreflect.ValueOfString(value) + case "stratos.pot.v1.Metrics.resource_node_deposit": + value := x.ResourceNodeDeposit + return protoreflect.ValueOfString(value) + case "stratos.pot.v1.Metrics.meta_node_deposit": + value := x.MetaNodeDeposit + return protoreflect.ValueOfString(value) + case "stratos.pot.v1.Metrics.unissued_prepay": + value := x.UnissuedPrepay + return protoreflect.ValueOfString(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -4813,6 +4858,12 @@ func (x *fastReflection_Metrics) Set(fd protoreflect.FieldDescriptor, value prot x.ResourceMiningReward = value.Interface().(string) case "stratos.pot.v1.Metrics.meta_mining_reward": x.MetaMiningReward = value.Interface().(string) + case "stratos.pot.v1.Metrics.resource_node_deposit": + x.ResourceNodeDeposit = value.Interface().(string) + case "stratos.pot.v1.Metrics.meta_node_deposit": + x.MetaNodeDeposit = value.Interface().(string) + case "stratos.pot.v1.Metrics.unissued_prepay": + x.UnissuedPrepay = value.Interface().(string) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -4857,6 +4908,12 @@ func (x *fastReflection_Metrics) Mutable(fd protoreflect.FieldDescriptor) protor panic(fmt.Errorf("field resource_mining_reward of message stratos.pot.v1.Metrics is not mutable")) case "stratos.pot.v1.Metrics.meta_mining_reward": panic(fmt.Errorf("field meta_mining_reward of message stratos.pot.v1.Metrics is not mutable")) + case "stratos.pot.v1.Metrics.resource_node_deposit": + panic(fmt.Errorf("field resource_node_deposit of message stratos.pot.v1.Metrics is not mutable")) + case "stratos.pot.v1.Metrics.meta_node_deposit": + panic(fmt.Errorf("field meta_node_deposit of message stratos.pot.v1.Metrics is not mutable")) + case "stratos.pot.v1.Metrics.unissued_prepay": + panic(fmt.Errorf("field unissued_prepay of message stratos.pot.v1.Metrics is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -4894,6 +4951,12 @@ func (x *fastReflection_Metrics) NewField(fd protoreflect.FieldDescriptor) proto return protoreflect.ValueOfString("") case "stratos.pot.v1.Metrics.meta_mining_reward": return protoreflect.ValueOfString("") + case "stratos.pot.v1.Metrics.resource_node_deposit": + return protoreflect.ValueOfString("") + case "stratos.pot.v1.Metrics.meta_node_deposit": + return protoreflect.ValueOfString("") + case "stratos.pot.v1.Metrics.unissued_prepay": + return protoreflect.ValueOfString("") default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: stratos.pot.v1.Metrics")) @@ -5011,6 +5074,18 @@ func (x *fastReflection_Metrics) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + l = len(x.ResourceNodeDeposit) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.MetaNodeDeposit) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.UnissuedPrepay) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5040,6 +5115,27 @@ func (x *fastReflection_Metrics) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if len(x.UnissuedPrepay) > 0 { + i -= len(x.UnissuedPrepay) + copy(dAtA[i:], x.UnissuedPrepay) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.UnissuedPrepay))) + i-- + dAtA[i] = 0x7a + } + if len(x.MetaNodeDeposit) > 0 { + i -= len(x.MetaNodeDeposit) + copy(dAtA[i:], x.MetaNodeDeposit) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.MetaNodeDeposit))) + i-- + dAtA[i] = 0x72 + } + if len(x.ResourceNodeDeposit) > 0 { + i -= len(x.ResourceNodeDeposit) + copy(dAtA[i:], x.ResourceNodeDeposit) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ResourceNodeDeposit))) + i-- + dAtA[i] = 0x6a + } if len(x.MetaMiningReward) > 0 { i -= len(x.MetaMiningReward) copy(dAtA[i:], x.MetaMiningReward) @@ -5557,6 +5653,102 @@ func (x *fastReflection_Metrics) ProtoMethods() *protoiface.Methods { } x.MetaMiningReward = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 13: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ResourceNodeDeposit", 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.ResourceNodeDeposit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 14: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MetaNodeDeposit", 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.MetaNodeDeposit = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 15: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field UnissuedPrepay", 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.UnissuedPrepay = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5996,6 +6188,9 @@ type Metrics struct { ChainMiningReward string `protobuf:"bytes,10,opt,name=chain_mining_reward,json=chainMiningReward,proto3" json:"chain_mining_reward,omitempty"` ResourceMiningReward string `protobuf:"bytes,11,opt,name=resource_mining_reward,json=resourceMiningReward,proto3" json:"resource_mining_reward,omitempty"` MetaMiningReward string `protobuf:"bytes,12,opt,name=meta_mining_reward,json=metaMiningReward,proto3" json:"meta_mining_reward,omitempty"` + ResourceNodeDeposit string `protobuf:"bytes,13,opt,name=resource_node_deposit,json=resourceNodeDeposit,proto3" json:"resource_node_deposit,omitempty"` + MetaNodeDeposit string `protobuf:"bytes,14,opt,name=meta_node_deposit,json=metaNodeDeposit,proto3" json:"meta_node_deposit,omitempty"` + UnissuedPrepay string `protobuf:"bytes,15,opt,name=unissued_prepay,json=unissuedPrepay,proto3" json:"unissued_prepay,omitempty"` } func (x *Metrics) Reset() { @@ -6102,6 +6297,27 @@ func (x *Metrics) GetMetaMiningReward() string { return "" } +func (x *Metrics) GetResourceNodeDeposit() string { + if x != nil { + return x.ResourceNodeDeposit + } + return "" +} + +func (x *Metrics) GetMetaNodeDeposit() string { + if x != nil { + return x.MetaNodeDeposit + } + return "" +} + +func (x *Metrics) GetUnissuedPrepay() string { + if x != nil { + return x.UnissuedPrepay + } + return "" +} + var File_stratos_pot_v1_pot_proto protoreflect.FileDescriptor var file_stratos_pot_v1_pot_proto_rawDesc = []byte{ @@ -6316,7 +6532,7 @@ var file_stratos_pot_v1_pot_proto_rawDesc = []byte{ 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, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x66, - 0x66, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xc5, 0x10, 0x0a, 0x07, 0x4d, 0x65, + 0x66, 0x69, 0x63, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xb1, 0x14, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x68, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, @@ -6449,17 +6665,48 @@ var file_stratos_pot_v1_pot_proto_rawDesc = []byte{ 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x42, 0xa3, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, - 0x73, 0x2e, 0x70, 0x6f, 0x74, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x50, 0x6f, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x25, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2f, 0x70, - 0x6f, 0x74, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6f, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x50, - 0x58, 0xaa, 0x02, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2e, 0x50, 0x6f, 0x74, 0x2e, - 0x56, 0x31, 0xca, 0x02, 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5c, 0x50, 0x6f, 0x74, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1a, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5c, 0x50, 0x6f, - 0x74, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x10, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x3a, 0x3a, 0x50, 0x6f, 0x74, 0x3a, - 0x3a, 0x56, 0x31, 0xa8, 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x12, 0xae, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x7a, 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, 0x49, 0x6e, + 0x74, 0xea, 0xde, 0x1f, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0xf2, 0xde, 0x1f, 0x1c, 0x79, 0x61, + 0x6d, 0x6c, 0x3a, 0x22, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x13, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x72, + 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, 0x49, 0x6e, 0x74, 0xea, 0xde, + 0x1f, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0xf2, 0xde, 0x1f, 0x18, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6d, 0x65, 0x74, + 0x61, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x22, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, + 0x2a, 0x01, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x75, 0x6e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x6e, 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, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, + 0x0f, 0x75, 0x6e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, + 0xf2, 0xde, 0x1f, 0x16, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x75, 0x6e, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x75, + 0x6e, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x42, 0xa3, 0x01, + 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2e, 0x70, 0x6f, + 0x74, 0x2e, 0x76, 0x31, 0x42, 0x08, 0x50, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x25, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x6f, 0x74, 0x2f, 0x76, + 0x31, 0x3b, 0x70, 0x6f, 0x74, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x50, 0x58, 0xaa, 0x02, 0x0e, + 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x2e, 0x50, 0x6f, 0x74, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x0e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5c, 0x50, 0x6f, 0x74, 0x5c, 0x56, 0x31, 0xe2, + 0x02, 0x1a, 0x53, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x5c, 0x50, 0x6f, 0x74, 0x5c, 0x56, 0x31, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, + 0x74, 0x72, 0x61, 0x74, 0x6f, 0x73, 0x3a, 0x3a, 0x50, 0x6f, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0xa8, + 0xe2, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/stratos/pot/v1/pot.proto b/proto/stratos/pot/v1/pot.proto index 0a4cd7ca..070fa2b1 100644 --- a/proto/stratos/pot/v1/pot.proto +++ b/proto/stratos/pot/v1/pot.proto @@ -270,4 +270,28 @@ message Metrics { (gogoproto.jsontag) = "meta_mining_reward", (gogoproto.moretags) = "yaml:\"meta_mining_reward\"" ]; + string resource_node_deposit = 13 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.jsontag) = "resource_node_deposit", + (gogoproto.moretags) = "yaml:\"resource_node_deposit\"" + ]; + string meta_node_deposit = 14 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.jsontag) = "meta_node_deposit", + (gogoproto.moretags) = "yaml:\"meta_node_deposit\"" + ]; + string unissued_prepay = 15 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + (cosmos_proto.scalar) = "cosmos.Int", + (gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Int", + (gogoproto.jsontag) = "unissued_prepay", + (gogoproto.moretags) = "yaml:\"unissued_prepay\"" + ]; } diff --git a/x/pot/keeper/cache.go b/x/pot/keeper/cache.go new file mode 100644 index 00000000..2390e0b4 --- /dev/null +++ b/x/pot/keeper/cache.go @@ -0,0 +1,71 @@ +package keeper + +import ( + "sync" + "time" +) + +type keeperMCacheItem struct { + value interface{} + expiration int64 +} + +type keeperMCache struct { + data map[string]keeperMCacheItem + mu sync.RWMutex + ttl time.Duration + ticker *time.Ticker + stop chan bool +} + +func NewKeeperMCache(ttl time.Duration) *keeperMCache { + cache := &keeperMCache{ + data: make(map[string]keeperMCacheItem), + ttl: ttl, + ticker: time.NewTicker(ttl), + stop: make(chan bool), + } + go cache.cleanup() + return cache +} + +func (c *keeperMCache) Set(key string, value interface{}) { + c.mu.Lock() + defer c.mu.Unlock() + c.data[key] = keeperMCacheItem{ + value: value, + expiration: time.Now().Add(c.ttl).UnixNano(), + } +} + +func (c *keeperMCache) Get(key string) (interface{}, bool) { + c.mu.RLock() + defer c.mu.RUnlock() + item, exists := c.data[key] + if !exists || time.Now().UnixNano() > item.expiration { + return nil, false + } + return item.value, true +} + +func (c *keeperMCache) cleanup() { + for { + select { + case <-c.ticker.C: + c.mu.Lock() + for key, item := range c.data { + if time.Now().UnixNano() > item.expiration { + delete(c.data, key) + } + } + c.mu.Unlock() + case <-c.stop: + c.ticker.Stop() + return + } + } +} + +func (c *keeperMCache) StopCleanup() { + c.stop <- true +} diff --git a/x/pot/keeper/keeper.go b/x/pot/keeper/keeper.go index c1af5d7d..a10c257b 100644 --- a/x/pot/keeper/keeper.go +++ b/x/pot/keeper/keeper.go @@ -4,6 +4,7 @@ import ( "context" "encoding/hex" "math" + "time" "github.com/cometbft/cometbft/libs/log" @@ -36,6 +37,8 @@ type Keeper struct { // the address capable of executing a MsgUpdateParams message. Typically, this // should be the x/gov module account. authority string + // cache store + cache *keeperMCache } // NewKeeper creates a pot keeper @@ -58,6 +61,7 @@ func NewKeeper( registerKeeper: registerKeeper, stakingKeeper: stakingKeeper, authority: authority, + cache: NewKeeperMCache(5 * time.Minute), } return keeper } @@ -163,13 +167,40 @@ func (k Keeper) GetSupply(ctx sdk.Context) (totalSupply sdk.Coin) { return k.bankKeeper.GetSupply(ctx, k.BondDenom(ctx)) } +func (k Keeper) getTotalUnbounding(ctx sdk.Context) sdk.Coin { + denom := k.BondDenom(ctx) + unbondingDelegation := sdk.NewCoin(denom, sdkmath.ZeroInt()) + + // NOTE: Comment in case of performance issue + k.stakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { + for _, entry := range ubd.Entries { + unbondingDelegation = unbondingDelegation.Add(sdk.NewCoin(denom, entry.Balance)) + } + return false + }) + + return unbondingDelegation +} + +// GetCirculationSupply returns circulation supply by the formula below +// +// total supply - validator (bounded) deposit - unbounding deposit - resource node deposit - +// - mining pool - prepay - (total mining supply - total mined tokens) +// NOTE: Unbounded deposit is in circulation supply func (k Keeper) GetCirculationSupply(ctx sdk.Context) (circulationSupply sdk.Coins) { - // total supply - validator deposit - resource node deposit - mining pool - prepay + res, f := k.cache.Get("GetCirculationSupply") + if f { + return res.(sdk.Coins) + } + defer func() { k.cache.Set("GetCirculationSupply", circulationSupply) }() + totalSupply := k.bankKeeper.GetSupply(ctx, k.BondDenom(ctx)) validatorBondedPoolAcc := k.accountKeeper.GetModuleAddress(stakingtypes.BondedPoolName) validatorStaking := k.bankKeeper.GetBalance(ctx, validatorBondedPoolAcc, k.BondDenom(ctx)) + unbondingDelegation := k.getTotalUnbounding(ctx) + resourceNodeBondedPoolAcc := k.accountKeeper.GetModuleAddress(registertypes.ResourceNodeBondedPool) resourceNodeDeposit := k.bankKeeper.GetBalance(ctx, resourceNodeBondedPoolAcc, k.BondDenom(ctx)) @@ -184,6 +215,7 @@ func (k Keeper) GetCirculationSupply(ctx sdk.Context) (circulationSupply sdk.Coi circulationSupplyStos := totalSupply. Sub(validatorStaking). + Sub(unbondingDelegation). Sub(resourceNodeDeposit). Sub(metaNodeDeposit). Sub(totalMining.Sub(totalMinedTokens)). @@ -252,7 +284,14 @@ func (k Keeper) GetLegacyTotalReward(ctx sdk.Context, epoch sdkmath.Int) (totalR return } -func (k Keeper) GetMetrics(ctx sdk.Context) types.Metrics { +// GetMetrics returns total info regarding token's balances on rewards, nodes etc. +func (k Keeper) GetMetrics(ctx sdk.Context) (m types.Metrics) { + res, f := k.cache.Get("GetMetrics") + if f { + return res.(types.Metrics) + } + defer func() { k.cache.Set("GetMetrics", m) }() + totalSupply := k.bankKeeper.GetSupply(ctx, k.BondDenom(ctx)) totalMining := k.GetTotalMining(ctx) totalMinedTokens := k.GetTotalMinedTokens(ctx) @@ -269,16 +308,7 @@ func (k Keeper) GetMetrics(ctx sdk.Context) types.Metrics { validatorUnbondedPoolAcc := k.accountKeeper.GetModuleAddress(stakingtypes.NotBondedPoolName) unbondedDelegation := k.bankKeeper.GetBalance(ctx, validatorUnbondedPoolAcc, denom) - unbondingDelegation := sdk.NewCoin(denom, sdkmath.ZeroInt()) - // NOTE: Uncomment to get all unboundings, not tested on performance - // k.stakingKeeper.IterateUnbondingDelegations(ctx, func(_ int64, ubd stakingtypes.UnbondingDelegation) (stop bool) { - // for _, entry := range ubd.Entries { - // unbondingDelegation = unbondingDelegation.Add(entry.Balance) - // } - // return false - // }) - - circulationSupply := k.GetCirculationSupply(ctx) + unbondingDelegation := k.getTotalUnbounding(ctx) totalMiningReward := sdkmath.ZeroInt() chainMiningReward := sdkmath.ZeroInt() @@ -291,7 +321,18 @@ func (k Keeper) GetMetrics(ctx sdk.Context) types.Metrics { metaMiningReward = totalMiningReward.Mul(miningParam.MetaNodePercentageInBp).Quo(sdkmath.NewInt(10000)) } - return types.Metrics{ + circulationSupply := k.GetCirculationSupply(ctx) + + resourceNodeBondedPoolAcc := k.accountKeeper.GetModuleAddress(registertypes.ResourceNodeBondedPool) + resourceNodeDeposit := k.bankKeeper.GetBalance(ctx, resourceNodeBondedPoolAcc, k.BondDenom(ctx)) + + metaNodeBondedPoolAcc := k.accountKeeper.GetModuleAddress(registertypes.MetaNodeNotBondedPool) + metaNodeDeposit := k.bankKeeper.GetBalance(ctx, metaNodeBondedPoolAcc, k.BondDenom(ctx)) + + unissuedPrepayAcc := k.accountKeeper.GetModuleAddress(registertypes.TotalUnissuedPrepay) + unissuedPrepay := k.bankKeeper.GetBalance(ctx, unissuedPrepayAcc, k.BondDenom(ctx)) + + m = types.Metrics{ TotalSupply: totalSupply.Amount, TotalMiningSupply: totalMining.Amount, TotalMinedTokens: totalMinedTokens.Amount, @@ -304,5 +345,10 @@ func (k Keeper) GetMetrics(ctx sdk.Context) types.Metrics { ChainMiningReward: chainMiningReward, ResourceMiningReward: resourceMiningReward, MetaMiningReward: metaMiningReward, + ResourceNodeDeposit: resourceNodeDeposit.Amount, + MetaNodeDeposit: metaNodeDeposit.Amount, + UnissuedPrepay: unissuedPrepay.Amount, } + + return } diff --git a/x/pot/types/pot.pb.go b/x/pot/types/pot.pb.go index 0cd977f3..35c76e13 100644 --- a/x/pot/types/pot.pb.go +++ b/x/pot/types/pot.pb.go @@ -442,6 +442,9 @@ type Metrics struct { ChainMiningReward github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,10,opt,name=chain_mining_reward,json=chainMiningReward,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"chain_mining_reward" yaml:"chain_mining_reward"` ResourceMiningReward github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,11,opt,name=resource_mining_reward,json=resourceMiningReward,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"resource_mining_reward" yaml:"resource_mining_reward"` MetaMiningReward github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,12,opt,name=meta_mining_reward,json=metaMiningReward,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"meta_mining_reward" yaml:"meta_mining_reward"` + ResourceNodeDeposit github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,13,opt,name=resource_node_deposit,json=resourceNodeDeposit,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"resource_node_deposit" yaml:"resource_node_deposit"` + MetaNodeDeposit github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,14,opt,name=meta_node_deposit,json=metaNodeDeposit,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"meta_node_deposit" yaml:"meta_node_deposit"` + UnissuedPrepay github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,15,opt,name=unissued_prepay,json=unissuedPrepay,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"unissued_prepay" yaml:"unissued_prepay"` } func (m *Metrics) Reset() { *m = Metrics{} } @@ -491,107 +494,113 @@ func init() { func init() { proto.RegisterFile("stratos/pot/v1/pot.proto", fileDescriptor_a05930b44d981057) } var fileDescriptor_a05930b44d981057 = []byte{ - // 1585 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x88, 0x1c, 0x45, - 0x17, 0xdf, 0xca, 0x26, 0xbb, 0xd9, 0xda, 0x3f, 0xc9, 0x76, 0x26, 0xc9, 0xec, 0x7e, 0xc9, 0xd4, - 0xa6, 0xc3, 0x97, 0x6f, 0x09, 0x64, 0x86, 0xcd, 0x07, 0xdf, 0x07, 0x39, 0xe9, 0x64, 0x13, 0x8c, - 0xb0, 0x12, 0x66, 0xd7, 0x08, 0x41, 0x6c, 0x7b, 0x7b, 0x6a, 0x67, 0x3b, 0x99, 0xee, 0x1a, 0xba, - 0x6b, 0x26, 0xbb, 0x20, 0x1e, 0x44, 0x44, 0xfc, 0x83, 0xb9, 0x08, 0xf1, 0x22, 0x12, 0x41, 0x82, - 0xa7, 0x20, 0xe2, 0x4d, 0x44, 0x54, 0x88, 0x9e, 0xa2, 0x5e, 0xc4, 0x43, 0x29, 0x9b, 0x43, 0x60, - 0x8e, 0x7d, 0xf0, 0x26, 0x48, 0xfd, 0xe9, 0xe9, 0xee, 0xe9, 0xee, 0x59, 0x67, 0x15, 0x2f, 0xbb, - 0x5d, 0xef, 0xbd, 0x7a, 0xf5, 0xfb, 0x55, 0xbd, 0xf7, 0xea, 0xd5, 0xc0, 0xa2, 0x4f, 0x3d, 0x93, - 0x12, 0xbf, 0xd2, 0x22, 0xb4, 0xd2, 0x59, 0xe2, 0xff, 0xca, 0x2d, 0x8f, 0x50, 0xa2, 0xcd, 0x28, - 0x4d, 0x99, 0x8b, 0x3a, 0x4b, 0xf3, 0x85, 0x06, 0x69, 0x10, 0xa1, 0xaa, 0xf0, 0x2f, 0x69, 0x35, - 0x3f, 0x67, 0x11, 0xdf, 0x21, 0xbe, 0x21, 0x15, 0x72, 0xa0, 0x54, 0xb3, 0xa6, 0x63, 0xbb, 0xa4, - 0x22, 0xfe, 0x2a, 0x51, 0x49, 0x1a, 0x54, 0xd6, 0x4d, 0x1f, 0x57, 0x3a, 0x4b, 0xeb, 0x98, 0x9a, - 0x4b, 0x15, 0x8b, 0xd8, 0xae, 0xd4, 0xeb, 0x9f, 0x1f, 0x80, 0x63, 0x57, 0x4d, 0xcf, 0x74, 0x7c, - 0xad, 0x0a, 0xe1, 0x3a, 0x71, 0xeb, 0x46, 0x1d, 0xbb, 0xc4, 0x29, 0x82, 0x05, 0xb0, 0x38, 0x51, - 0x3d, 0xdd, 0x65, 0x28, 0x26, 0x0d, 0x18, 0x9a, 0xdd, 0x36, 0x9d, 0xe6, 0x05, 0x3d, 0x92, 0xe9, - 0xb5, 0x09, 0x3e, 0x58, 0xe6, 0xdf, 0xda, 0xd3, 0x70, 0xca, 0xc3, 0xb7, 0x4c, 0x2f, 0xf4, 0xb2, - 0x4f, 0x78, 0xf9, 0x4f, 0x97, 0xa1, 0x84, 0x3c, 0x60, 0xe8, 0x88, 0xf4, 0x13, 0x97, 0xea, 0xb5, - 0x49, 0x39, 0xec, 0xf9, 0x72, 0x4c, 0xda, 0xf6, 0xb0, 0x81, 0x5b, 0xc4, 0xda, 0x2c, 0x8e, 0x2e, - 0x80, 0xc5, 0x51, 0xe9, 0x2b, 0x2e, 0x8f, 0x7c, 0xc5, 0xa5, 0x7a, 0x6d, 0x52, 0x0e, 0x2f, 0xf1, - 0x91, 0xf6, 0x2e, 0x80, 0x05, 0xc7, 0x76, 0x6d, 0xb7, 0x61, 0xa8, 0x15, 0x5b, 0x82, 0x74, 0x71, - 0xff, 0xc2, 0xe8, 0xe2, 0xe4, 0xf9, 0x53, 0xe5, 0xe4, 0xd6, 0x97, 0x57, 0x84, 0x6d, 0x4d, 0x98, - 0x8a, 0xed, 0xa9, 0x3e, 0xf1, 0x80, 0xa1, 0x91, 0x2e, 0x43, 0x99, 0x6e, 0x02, 0x86, 0xfe, 0xa5, - 0x30, 0x64, 0x68, 0xf5, 0x7b, 0x8f, 0xef, 0x9f, 0x05, 0x35, 0xcd, 0xe9, 0x77, 0xea, 0x6b, 0xef, - 0x00, 0x38, 0x6d, 0x11, 0xc7, 0x69, 0xbb, 0x36, 0xdd, 0x36, 0xa8, 0xb9, 0x55, 0x3c, 0x20, 0x76, - 0xec, 0x06, 0x5f, 0xed, 0x67, 0x86, 0xce, 0x34, 0x6c, 0xba, 0xd9, 0x5e, 0x2f, 0x5b, 0xc4, 0x51, - 0x47, 0xad, 0xfe, 0x9d, 0xf3, 0xeb, 0x37, 0x2b, 0x74, 0xbb, 0x85, 0xfd, 0xf2, 0x32, 0xb6, 0xba, - 0x0c, 0x25, 0xdd, 0x04, 0x0c, 0x15, 0x24, 0xa0, 0x84, 0x58, 0xff, 0xe1, 0xd3, 0x73, 0x50, 0x85, - 0xcc, 0x32, 0xb6, 0x24, 0xae, 0xa9, 0x9e, 0xc9, 0x9a, 0xb9, 0xa5, 0xbd, 0x0d, 0x60, 0xc1, 0x76, - 0x6d, 0x6a, 0x9b, 0x4d, 0x83, 0x12, 0x6a, 0x36, 0x0d, 0xbf, 0xdd, 0x6a, 0x35, 0xb7, 0x8b, 0x63, - 0x0b, 0x60, 0x71, 0xf2, 0xfc, 0x5c, 0x59, 0x4d, 0xe7, 0x01, 0x55, 0x56, 0x01, 0x55, 0xbe, 0x48, - 0x6c, 0x37, 0xda, 0xa1, 0xac, 0xe9, 0xd1, 0x0e, 0x65, 0x69, 0xc3, 0x1d, 0x52, 0xba, 0x35, 0xae, - 0x5a, 0x15, 0x9a, 0x0b, 0x27, 0xef, 0x7c, 0x80, 0xc0, 0x1b, 0x8f, 0xef, 0x9f, 0x2d, 0x84, 0x79, - 0xb3, 0x25, 0x32, 0x47, 0x6e, 0xa0, 0xfe, 0xde, 0x41, 0x38, 0x9b, 0x3a, 0x2c, 0xed, 0x0e, 0x80, - 0xc7, 0xa5, 0x7f, 0xc7, 0x76, 0x71, 0xdd, 0xe8, 0x98, 0xcd, 0x0e, 0x36, 0x7c, 0x6a, 0x7a, 0x54, - 0x04, 0xf6, 0x40, 0x1e, 0x97, 0x15, 0x8f, 0x3c, 0x0f, 0x01, 0x43, 0x25, 0x49, 0x25, 0xc7, 0x40, - 0xb1, 0x29, 0x08, 0xf5, 0x0a, 0xd7, 0x5e, 0xe3, 0xca, 0x55, 0xae, 0xd3, 0x6e, 0x03, 0x78, 0x34, - 0x3d, 0x0f, 0xbb, 0x75, 0x91, 0x2b, 0x03, 0x81, 0x55, 0x15, 0xb0, 0xec, 0xf9, 0x01, 0x43, 0x27, - 0xf2, 0x60, 0x61, 0xb7, 0x1e, 0x6e, 0x71, 0x1f, 0xa8, 0x4b, 0x6e, 0x5d, 0xf3, 0xe0, 0x74, 0x22, - 0x6c, 0x45, 0xa6, 0x0d, 0x44, 0x72, 0x5e, 0x21, 0x49, 0xce, 0x8b, 0x82, 0x2e, 0x21, 0x56, 0x2b, - 0x4f, 0xc5, 0xc3, 0x5f, 0xfb, 0x16, 0xc0, 0x13, 0xeb, 0x4d, 0x62, 0xdd, 0x34, 0xac, 0x4d, 0xd3, - 0x76, 0x8d, 0x16, 0xf6, 0x2c, 0xec, 0x52, 0xb3, 0x81, 0x0d, 0xdb, 0x35, 0xd6, 0x5b, 0xc5, 0xfd, - 0x22, 0x0f, 0x5e, 0x07, 0x43, 0x24, 0xc2, 0x15, 0x97, 0x76, 0x19, 0x1a, 0xe8, 0x36, 0x60, 0xe8, - 0xb4, 0x2a, 0x60, 0x03, 0xac, 0xe2, 0x69, 0x72, 0xc5, 0xa5, 0x12, 0x7f, 0x51, 0xcc, 0xb8, 0xc8, - 0x27, 0x5c, 0xed, 0xd9, 0x5f, 0x71, 0xab, 0x2d, 0xed, 0x7b, 0x00, 0x4b, 0x1e, 0xf6, 0x49, 0xdb, - 0xb3, 0xb0, 0xe1, 0x92, 0x3a, 0x4e, 0xb3, 0x91, 0x59, 0xfd, 0xd6, 0xf0, 0x6c, 0x76, 0x71, 0x1c, - 0x30, 0xf4, 0xef, 0xb0, 0x90, 0x0e, 0xb2, 0xcb, 0x64, 0x34, 0x1f, 0xce, 0x79, 0x86, 0xd4, 0x71, - 0x1f, 0xa7, 0x2f, 0x01, 0x9c, 0x77, 0x30, 0x35, 0x73, 0xf8, 0x8c, 0x09, 0x3e, 0xaf, 0x0e, 0xcf, - 0x67, 0x80, 0xd3, 0x80, 0xa1, 0x53, 0x2a, 0x7c, 0x72, 0x6d, 0x32, 0x79, 0x1c, 0xe3, 0xf6, 0x69, - 0x0e, 0xfa, 0x6b, 0xfb, 0xe1, 0x98, 0x0a, 0xb7, 0x1b, 0x70, 0xe6, 0x96, 0xd9, 0x6c, 0x62, 0x6a, - 0x98, 0xf5, 0xba, 0x87, 0x7d, 0x5f, 0xdd, 0x6f, 0x17, 0xbb, 0x0c, 0xf5, 0x69, 0x02, 0x86, 0x8e, - 0x4a, 0x18, 0x49, 0x39, 0x5f, 0xba, 0xa0, 0x96, 0x7e, 0x52, 0x8a, 0x56, 0xa9, 0xc7, 0x23, 0x7a, - 0x5a, 0x1a, 0x2a, 0xa1, 0xf6, 0x35, 0x80, 0xc7, 0x55, 0xfd, 0xdf, 0xf0, 0x88, 0x63, 0xa8, 0x64, - 0x68, 0x11, 0xd2, 0x2c, 0xee, 0x13, 0xd7, 0xcd, 0x80, 0xcc, 0xf2, 0xc2, 0xe2, 0x93, 0xe3, 0x21, - 0x2a, 0x3e, 0x39, 0x06, 0xfa, 0xc7, 0xbf, 0xa0, 0xc5, 0x3f, 0x71, 0x1c, 0x7c, 0x35, 0x5f, 0x15, - 0x2a, 0xe9, 0xea, 0xb2, 0x47, 0x1c, 0x59, 0x4a, 0xaf, 0x12, 0xd2, 0xd4, 0x1e, 0x00, 0x58, 0x8c, - 0xaf, 0x41, 0x3d, 0x73, 0x63, 0xc3, 0xb6, 0x24, 0x8f, 0xd1, 0xdd, 0x78, 0x50, 0xc5, 0x23, 0xd7, - 0x45, 0xc0, 0x10, 0x4a, 0x13, 0x89, 0x5b, 0xec, 0x81, 0xc9, 0xd1, 0x88, 0xc9, 0x9a, 0xf4, 0xc4, - 0xa9, 0xe8, 0xbf, 0x01, 0xa8, 0xad, 0xda, 0x6e, 0xa3, 0x89, 0x9f, 0x13, 0x27, 0x75, 0x8d, 0x34, - 0xdb, 0x0e, 0xfe, 0x47, 0x83, 0x82, 0xc2, 0xb1, 0x8e, 0x58, 0x55, 0xb5, 0x44, 0xcf, 0x0f, 0x9d, - 0x39, 0x6a, 0x7e, 0xc0, 0xd0, 0xb4, 0x44, 0x22, 0xc7, 0x99, 0x19, 0xa1, 0x6c, 0xf5, 0x36, 0x9c, - 0x8e, 0x33, 0xf6, 0xb5, 0x3a, 0x1c, 0x97, 0x2a, 0xce, 0x95, 0x1f, 0xa1, 0xde, 0xdf, 0xf9, 0xa4, - 0xf7, 0xa9, 0x7a, 0x46, 0x9d, 0x65, 0x38, 0x35, 0x60, 0x68, 0x26, 0x0e, 0x21, 0x6c, 0x70, 0x42, - 0xbd, 0xfe, 0x3b, 0x80, 0x9a, 0x9c, 0x5b, 0xc3, 0x2d, 0xe2, 0xd1, 0x1a, 0xb6, 0x88, 0x57, 0xd7, - 0x56, 0xe1, 0x41, 0x4f, 0x8c, 0xb1, 0xa7, 0x76, 0xfa, 0xff, 0x5d, 0x86, 0x7a, 0xb2, 0x80, 0xa1, - 0x43, 0x61, 0x44, 0x48, 0x49, 0xfe, 0xee, 0xf6, 0x26, 0x69, 0xd7, 0xe1, 0x61, 0xf9, 0x6d, 0x78, - 0x78, 0x03, 0x7b, 0xd8, 0xb5, 0xc2, 0x2d, 0xae, 0x74, 0x19, 0x4a, 0xe9, 0x02, 0x86, 0x8e, 0xc7, - 0x17, 0x89, 0x34, 0x7a, 0xed, 0x90, 0xa7, 0xd0, 0x2a, 0x89, 0xf6, 0x3f, 0x38, 0x4e, 0xb7, 0x8c, - 0x4d, 0xd3, 0x97, 0xcd, 0xe7, 0x44, 0xf5, 0x24, 0xdf, 0x05, 0x25, 0x8a, 0x76, 0x41, 0x09, 0xf4, - 0xda, 0x18, 0xdd, 0x7a, 0x8a, 0x7f, 0xfc, 0xb8, 0x0f, 0x4e, 0x8a, 0x1e, 0x46, 0x55, 0x9f, 0xf7, - 0x41, 0xff, 0x0d, 0x0b, 0x76, 0xcb, 0x9f, 0x17, 0x86, 0xba, 0x61, 0x87, 0xcf, 0x94, 0xe4, 0x6d, - 0x7c, 0x17, 0xc0, 0x99, 0x30, 0xf5, 0x14, 0xc2, 0x5d, 0x2b, 0xd5, 0x8b, 0x0a, 0x61, 0xdf, 0xc4, - 0x28, 0x53, 0x92, 0xf2, 0x3d, 0x60, 0x9c, 0x56, 0x1e, 0x24, 0x48, 0xfd, 0x9b, 0xc3, 0x70, 0x7c, - 0x05, 0x53, 0xcf, 0xb6, 0x7c, 0xed, 0x4d, 0x00, 0xa7, 0x12, 0xdd, 0xa9, 0x8c, 0xa7, 0xcd, 0xa1, - 0xb3, 0x6a, 0xaa, 0xaf, 0x49, 0x3d, 0x12, 0x6f, 0xa1, 0x54, 0x73, 0x9a, 0x95, 0x61, 0x93, 0x34, - 0xea, 0x51, 0xb5, 0x8f, 0x00, 0x3c, 0xd2, 0x6b, 0xba, 0xf8, 0xb1, 0x28, 0x50, 0x32, 0x0e, 0x3b, - 0x43, 0x83, 0xca, 0x72, 0x16, 0x30, 0x34, 0xdf, 0xd7, 0xde, 0x45, 0xca, 0x4c, 0x88, 0xb3, 0x61, - 0xab, 0x67, 0xbb, 0x0d, 0x05, 0xf4, 0x2e, 0x80, 0x5a, 0xbc, 0x3b, 0xa4, 0xe4, 0x26, 0x76, 0x7d, - 0x15, 0xdc, 0x74, 0x68, 0x9c, 0x19, 0xbe, 0x02, 0x86, 0xe6, 0xd2, 0x5d, 0xa8, 0xd4, 0x65, 0xa2, - 0x3c, 0x1c, 0x35, 0xa4, 0x6b, 0xc2, 0x4a, 0xfb, 0x0e, 0xc0, 0x13, 0x72, 0x72, 0xa2, 0xa7, 0xf1, - 0x8d, 0x3a, 0x6e, 0x11, 0xdf, 0xa6, 0x7f, 0xa1, 0x35, 0x1c, 0xe4, 0x36, 0x6a, 0x0d, 0x07, 0x59, - 0x65, 0x72, 0x98, 0xa3, 0x32, 0xd9, 0xa3, 0x6e, 0xca, 0x5f, 0x96, 0xe6, 0xda, 0x67, 0xbd, 0x97, - 0x08, 0x7f, 0x24, 0x63, 0xfe, 0xd2, 0x6d, 0xe2, 0x86, 0x49, 0x6d, 0xe2, 0xaa, 0xa6, 0xf0, 0xe5, - 0xa1, 0x69, 0xe4, 0x39, 0xec, 0x7f, 0x98, 0xa4, 0x0c, 0x32, 0xc1, 0xcb, 0xd7, 0x44, 0x55, 0xd8, - 0x2e, 0xf7, 0x4c, 0xb5, 0x2f, 0x00, 0x94, 0xb4, 0x8c, 0xb6, 0x9b, 0x86, 0x2e, 0xfb, 0xbf, 0x57, - 0x86, 0x3f, 0x82, 0x7c, 0x9f, 0x01, 0x43, 0x0b, 0x71, 0xf4, 0x19, 0x26, 0x99, 0xf8, 0xe5, 0x6e, - 0x3c, 0xab, 0xac, 0x63, 0x0c, 0xbe, 0x02, 0x70, 0x3e, 0xee, 0x8a, 0xa7, 0x4b, 0x8c, 0xc2, 0xf8, - 0x9e, 0x5b, 0xd8, 0x7c, 0xa7, 0x51, 0x0b, 0x9b, 0x6f, 0x93, 0xfd, 0xb8, 0x88, 0x91, 0xb0, 0xdd, - 0x46, 0x8c, 0xc5, 0x87, 0x00, 0x6a, 0x96, 0xed, 0x59, 0xed, 0xa6, 0x18, 0x87, 0xa5, 0xe5, 0xe0, - 0x5e, 0x53, 0x36, 0xed, 0x2b, 0x4a, 0xd9, 0xb4, 0x2e, 0xbb, 0xb0, 0xc4, 0xec, 0xf2, 0x2a, 0xa0, - 0xba, 0x45, 0x26, 0xfe, 0x96, 0x0a, 0xd8, 0xbb, 0x59, 0xb2, 0x2a, 0xa0, 0xba, 0x5e, 0x76, 0xab, - 0x80, 0xea, 0xa6, 0xe3, 0x40, 0xe5, 0xa3, 0x2f, 0x09, 0x14, 0xee, 0x15, 0x68, 0x86, 0xb3, 0x08, - 0x68, 0x86, 0x32, 0x67, 0x47, 0xb9, 0x61, 0x02, 0xe8, 0x27, 0x00, 0x1e, 0xeb, 0x95, 0xa0, 0x24, - 0xd6, 0x49, 0x81, 0xf5, 0xa5, 0xa1, 0xb1, 0xe6, 0xf8, 0x0b, 0x18, 0x3a, 0xd9, 0xf7, 0x86, 0xdc, - 0x1d, 0x71, 0x21, 0xb4, 0x5d, 0xe9, 0xeb, 0x23, 0x34, 0xf1, 0x78, 0x4b, 0x02, 0x9e, 0xda, 0x6b, - 0xb0, 0xa6, 0x7d, 0x45, 0xc1, 0x9a, 0xd6, 0x65, 0xdf, 0x2f, 0xdc, 0x2e, 0x0e, 0xb2, 0xba, 0x72, - 0x6f, 0xa7, 0x04, 0x1e, 0xec, 0x94, 0xc0, 0xc3, 0x9d, 0x12, 0xf8, 0x75, 0xa7, 0x04, 0x6e, 0x3f, - 0x2a, 0x8d, 0x3c, 0x7c, 0x54, 0x1a, 0xf9, 0xe9, 0x51, 0x69, 0xe4, 0x7a, 0x25, 0x86, 0x4e, 0xb5, - 0xc6, 0x2e, 0xa6, 0xe1, 0xe7, 0x39, 0x71, 0x50, 0xea, 0x27, 0x28, 0x01, 0x75, 0x7d, 0x4c, 0xfc, - 0x90, 0xfa, 0xdf, 0x3f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x24, 0x8d, 0x66, 0xca, 0xd8, 0x15, 0x00, - 0x00, + // 1685 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6c, 0xdc, 0x44, + 0x17, 0xcf, 0x34, 0x6d, 0xd2, 0x4c, 0xfe, 0x35, 0xce, 0xa6, 0xdd, 0xe4, 0x6b, 0x77, 0x52, 0x57, + 0x5f, 0xbf, 0xa8, 0x52, 0x77, 0x95, 0x7e, 0xd2, 0xf7, 0x49, 0x3d, 0xc1, 0x36, 0xad, 0x28, 0x52, + 0x50, 0xb4, 0x09, 0x45, 0xaa, 0x10, 0xc6, 0xf1, 0x4e, 0x36, 0x6e, 0xd7, 0x33, 0x2b, 0x7b, 0x36, + 0x4d, 0x10, 0xe2, 0x80, 0x10, 0x42, 0xfc, 0x11, 0xbd, 0x20, 0xca, 0xa5, 0x42, 0x45, 0x42, 0x15, + 0x07, 0x54, 0x10, 0xe2, 0x86, 0x10, 0x82, 0x43, 0xe1, 0x54, 0xe0, 0x82, 0x38, 0x0c, 0x28, 0x3d, + 0x54, 0xda, 0xa3, 0x0f, 0xdc, 0x90, 0x90, 0x67, 0xc6, 0x6b, 0x7b, 0xd7, 0xde, 0xb0, 0x01, 0x71, + 0x49, 0xec, 0xf7, 0xde, 0xfc, 0xe6, 0xf7, 0x9e, 0xdf, 0x7b, 0xf3, 0x66, 0x61, 0xde, 0x63, 0xae, + 0xc9, 0xa8, 0x57, 0x6a, 0x50, 0x56, 0xda, 0x5a, 0x0c, 0xfe, 0x15, 0x1b, 0x2e, 0x65, 0x54, 0x9b, + 0x50, 0x9a, 0x62, 0x20, 0xda, 0x5a, 0x9c, 0xcb, 0xd5, 0x68, 0x8d, 0x0a, 0x55, 0x29, 0x78, 0x92, + 0x56, 0x73, 0xb3, 0x16, 0xf5, 0x1c, 0xea, 0x19, 0x52, 0x21, 0x5f, 0x94, 0x6a, 0xca, 0x74, 0x6c, + 0x42, 0x4b, 0xe2, 0xaf, 0x12, 0x15, 0xa4, 0x41, 0x69, 0xdd, 0xf4, 0x70, 0x69, 0x6b, 0x71, 0x1d, + 0x33, 0x73, 0xb1, 0x64, 0x51, 0x9b, 0x48, 0xbd, 0xfe, 0xc5, 0x21, 0x38, 0xb4, 0x62, 0xba, 0xa6, + 0xe3, 0x69, 0x65, 0x08, 0xd7, 0x29, 0xa9, 0x1a, 0x55, 0x4c, 0xa8, 0x93, 0x07, 0xf3, 0x60, 0x61, + 0xa4, 0x7c, 0xaa, 0xc5, 0x51, 0x4c, 0xea, 0x73, 0x34, 0xb5, 0x63, 0x3a, 0xf5, 0xf3, 0x7a, 0x24, + 0xd3, 0x2b, 0x23, 0xc1, 0xcb, 0x52, 0xf0, 0xac, 0x3d, 0x09, 0xc7, 0x5c, 0x7c, 0xc3, 0x74, 0x43, + 0x94, 0x03, 0x02, 0xe5, 0x3f, 0x2d, 0x8e, 0x12, 0x72, 0x9f, 0xa3, 0x69, 0x89, 0x13, 0x97, 0xea, + 0x95, 0x51, 0xf9, 0xda, 0xc6, 0x72, 0x4c, 0xd6, 0x74, 0xb1, 0x81, 0x1b, 0xd4, 0xda, 0xcc, 0x0f, + 0xce, 0x83, 0x85, 0x41, 0x89, 0x15, 0x97, 0x47, 0x58, 0x71, 0xa9, 0x5e, 0x19, 0x95, 0xaf, 0x17, + 0x83, 0x37, 0xed, 0x1d, 0x00, 0x73, 0x8e, 0x4d, 0x6c, 0x52, 0x33, 0xd4, 0x8e, 0x0d, 0xe1, 0x74, + 0xfe, 0xe0, 0xfc, 0xe0, 0xc2, 0xe8, 0xb9, 0x93, 0xc5, 0x64, 0xe8, 0x8b, 0xcb, 0xc2, 0xb6, 0x22, + 0x4c, 0x45, 0x78, 0xca, 0x8f, 0xdd, 0xe7, 0x68, 0xa0, 0xc5, 0x51, 0x2a, 0x8c, 0xcf, 0xd1, 0xbf, + 0x14, 0x87, 0x14, 0xad, 0x7e, 0xf7, 0xd1, 0xbd, 0x33, 0xa0, 0xa2, 0x39, 0x9d, 0xa0, 0x9e, 0xf6, + 0x36, 0x80, 0xe3, 0x16, 0x75, 0x9c, 0x26, 0xb1, 0xd9, 0x8e, 0xc1, 0xcc, 0xed, 0xfc, 0x21, 0x11, + 0xb1, 0x6b, 0xc1, 0x6e, 0x3f, 0x73, 0x74, 0xba, 0x66, 0xb3, 0xcd, 0xe6, 0x7a, 0xd1, 0xa2, 0x8e, + 0xfa, 0xd4, 0xea, 0xdf, 0x59, 0xaf, 0x7a, 0xbd, 0xc4, 0x76, 0x1a, 0xd8, 0x2b, 0x2e, 0x61, 0xab, + 0xc5, 0x51, 0x12, 0xc6, 0xe7, 0x28, 0x27, 0x09, 0x25, 0xc4, 0xfa, 0x0f, 0x9f, 0x9d, 0x85, 0x2a, + 0x65, 0x96, 0xb0, 0x25, 0x79, 0x8d, 0xb5, 0x4d, 0xd6, 0xcc, 0x6d, 0xed, 0x2d, 0x00, 0x73, 0x36, + 0xb1, 0x99, 0x6d, 0xd6, 0x0d, 0x46, 0x99, 0x59, 0x37, 0xbc, 0x66, 0xa3, 0x51, 0xdf, 0xc9, 0x0f, + 0xcd, 0x83, 0x85, 0xd1, 0x73, 0xb3, 0x45, 0xb5, 0x3c, 0x48, 0xa8, 0xa2, 0x4a, 0xa8, 0xe2, 0x05, + 0x6a, 0x93, 0x28, 0x42, 0x69, 0xcb, 0xa3, 0x08, 0xa5, 0x69, 0xc3, 0x08, 0x29, 0xdd, 0x5a, 0xa0, + 0x5a, 0x15, 0x9a, 0xf3, 0x27, 0x6e, 0xbd, 0x8f, 0xc0, 0xeb, 0x8f, 0xee, 0x9d, 0xc9, 0x85, 0x75, + 0xb3, 0x2d, 0x2a, 0x47, 0x06, 0x50, 0x7f, 0xef, 0x30, 0x9c, 0xea, 0xfa, 0x58, 0xda, 0x2d, 0x00, + 0x8f, 0x49, 0x7c, 0xc7, 0x26, 0xb8, 0x6a, 0x6c, 0x99, 0xf5, 0x2d, 0x6c, 0x78, 0xcc, 0x74, 0x99, + 0x48, 0xec, 0x9e, 0x7e, 0x5c, 0x52, 0x7e, 0x64, 0x21, 0xf8, 0x1c, 0x15, 0xa4, 0x2b, 0x19, 0x06, + 0xca, 0x9b, 0x9c, 0x50, 0x2f, 0x07, 0xda, 0x2b, 0x81, 0x72, 0x35, 0xd0, 0x69, 0x37, 0x01, 0x9c, + 0xe9, 0x5e, 0x87, 0x49, 0x55, 0xd4, 0x4a, 0x4f, 0x62, 0x65, 0x45, 0x2c, 0x7d, 0xbd, 0xcf, 0xd1, + 0xf1, 0x2c, 0x5a, 0x98, 0x54, 0xc3, 0x10, 0x77, 0x90, 0xba, 0x48, 0xaa, 0x9a, 0x0b, 0xc7, 0x13, + 0x69, 0x2b, 0x2a, 0xad, 0x27, 0x93, 0x73, 0x8a, 0x49, 0x72, 0x5d, 0x94, 0x74, 0x09, 0xb1, 0xda, + 0x79, 0x2c, 0x9e, 0xfe, 0xda, 0xb7, 0x00, 0x1e, 0x5f, 0xaf, 0x53, 0xeb, 0xba, 0x61, 0x6d, 0x9a, + 0x36, 0x31, 0x1a, 0xd8, 0xb5, 0x30, 0x61, 0x66, 0x0d, 0x1b, 0x36, 0x31, 0xd6, 0x1b, 0xf9, 0x83, + 0xa2, 0x0e, 0x5e, 0x03, 0x7d, 0x14, 0xc2, 0x65, 0xc2, 0x5a, 0x1c, 0xf5, 0x84, 0xf5, 0x39, 0x3a, + 0xa5, 0x1a, 0x58, 0x0f, 0xab, 0x78, 0x99, 0x5c, 0x26, 0x4c, 0xf2, 0xcf, 0x8b, 0x15, 0x17, 0x82, + 0x05, 0x2b, 0x6d, 0xfb, 0xcb, 0xa4, 0xdc, 0xd0, 0xbe, 0x07, 0xb0, 0xe0, 0x62, 0x8f, 0x36, 0x5d, + 0x0b, 0x1b, 0x84, 0x56, 0x71, 0xb7, 0x37, 0xb2, 0xaa, 0xdf, 0xec, 0xdf, 0x9b, 0x3d, 0x80, 0x7d, + 0x8e, 0xfe, 0x1d, 0x36, 0xd2, 0x5e, 0x76, 0xa9, 0x1e, 0xcd, 0x85, 0x6b, 0x9e, 0xa2, 0x55, 0xdc, + 0xe1, 0xd3, 0x57, 0x00, 0xce, 0x39, 0x98, 0x99, 0x19, 0xfe, 0x0c, 0x09, 0x7f, 0x5e, 0xe9, 0xdf, + 0x9f, 0x1e, 0xa0, 0x3e, 0x47, 0x27, 0x55, 0xfa, 0x64, 0xda, 0xa4, 0xfa, 0x71, 0x34, 0xb0, 0xef, + 0xf6, 0x41, 0x7f, 0xf5, 0x20, 0x1c, 0x52, 0xe9, 0x76, 0x0d, 0x4e, 0xdc, 0x30, 0xeb, 0x75, 0xcc, + 0x0c, 0xb3, 0x5a, 0x75, 0xb1, 0xe7, 0xa9, 0xf3, 0xed, 0x42, 0x8b, 0xa3, 0x0e, 0x8d, 0xcf, 0xd1, + 0x8c, 0xa4, 0x91, 0x94, 0x07, 0x5b, 0xe7, 0xd4, 0xd6, 0x8f, 0x4b, 0xd1, 0x2a, 0x73, 0x83, 0x8c, + 0x1e, 0x97, 0x86, 0x4a, 0xa8, 0x7d, 0x03, 0xe0, 0x31, 0xd5, 0xff, 0x37, 0x5c, 0xea, 0x18, 0xaa, + 0x18, 0x1a, 0x94, 0xd6, 0xf3, 0x07, 0xc4, 0x71, 0xd3, 0xa3, 0xb2, 0xdc, 0xb0, 0xf9, 0x64, 0x20, + 0x44, 0xcd, 0x27, 0xc3, 0x40, 0xff, 0xe8, 0x17, 0xb4, 0xf0, 0x27, 0x3e, 0x47, 0xb0, 0x9b, 0xa7, + 0x1a, 0x95, 0x84, 0xba, 0xe4, 0x52, 0x47, 0xb6, 0xd2, 0x15, 0x4a, 0xeb, 0xda, 0x7d, 0x00, 0xf3, + 0xf1, 0x3d, 0x98, 0x6b, 0x6e, 0x6c, 0xd8, 0x96, 0xf4, 0x63, 0x70, 0x2f, 0x3f, 0x98, 0xf2, 0x23, + 0x13, 0xc2, 0xe7, 0x08, 0x75, 0x3b, 0x12, 0xb7, 0xd8, 0x87, 0x27, 0x33, 0x91, 0x27, 0x6b, 0x12, + 0x29, 0x70, 0x45, 0xff, 0x0d, 0x40, 0x6d, 0xd5, 0x26, 0xb5, 0x3a, 0x7e, 0x46, 0x7c, 0xa9, 0x2b, + 0xb4, 0xde, 0x74, 0xf0, 0x3f, 0x9a, 0x14, 0x0c, 0x0e, 0x6d, 0x89, 0x5d, 0xd5, 0x48, 0xf4, 0x6c, + 0xdf, 0x95, 0xa3, 0xd6, 0xfb, 0x1c, 0x8d, 0x4b, 0x26, 0xf2, 0x3d, 0xb5, 0x22, 0x94, 0xad, 0xde, + 0x84, 0xe3, 0x71, 0x8f, 0x3d, 0xad, 0x0a, 0x87, 0xa5, 0x2a, 0xf0, 0x35, 0xf8, 0x84, 0x7a, 0xe7, + 0xe4, 0xd3, 0x1d, 0xa7, 0xf2, 0x69, 0xf5, 0x2d, 0xc3, 0xa5, 0x3e, 0x47, 0x13, 0x71, 0x0a, 0xe1, + 0x80, 0x13, 0xea, 0xf5, 0xdf, 0x01, 0xd4, 0xe4, 0xda, 0x0a, 0x6e, 0x50, 0x97, 0x55, 0xb0, 0x45, + 0xdd, 0xaa, 0xb6, 0x0a, 0x0f, 0xbb, 0xe2, 0x1d, 0xbb, 0x2a, 0xd2, 0xff, 0x6f, 0x71, 0xd4, 0x96, + 0xf9, 0x1c, 0x4d, 0x86, 0x19, 0x21, 0x25, 0xd9, 0xd1, 0x6d, 0x2f, 0xd2, 0xae, 0xc2, 0x23, 0xf2, + 0xd9, 0x70, 0xf1, 0x06, 0x76, 0x31, 0xb1, 0xc2, 0x10, 0x97, 0x5a, 0x1c, 0x75, 0xe9, 0x7c, 0x8e, + 0x8e, 0xc5, 0x37, 0x89, 0x34, 0x7a, 0x65, 0xd2, 0x55, 0x6c, 0x95, 0x44, 0xfb, 0x1f, 0x1c, 0x66, + 0xdb, 0xc6, 0xa6, 0xe9, 0xc9, 0xe1, 0x73, 0xa4, 0x7c, 0x22, 0x88, 0x82, 0x12, 0x45, 0x51, 0x50, + 0x02, 0xbd, 0x32, 0xc4, 0xb6, 0x9f, 0x08, 0x1e, 0x7e, 0x3c, 0x00, 0x47, 0xc5, 0x0c, 0xa3, 0xba, + 0xcf, 0x6d, 0xd0, 0x79, 0xc2, 0x82, 0xbd, 0xea, 0xe7, 0xb9, 0xbe, 0x4e, 0xd8, 0xfe, 0x2b, 0x25, + 0x79, 0x1a, 0xdf, 0x01, 0x70, 0x22, 0x2c, 0x3d, 0xc5, 0x70, 0xcf, 0x4e, 0xf5, 0xbc, 0x62, 0xd8, + 0xb1, 0x30, 0xaa, 0x94, 0xa4, 0x7c, 0x1f, 0x1c, 0xc7, 0x15, 0x82, 0x24, 0xa9, 0x7f, 0x92, 0x83, + 0xc3, 0xcb, 0x98, 0xb9, 0xb6, 0xe5, 0x69, 0x6f, 0x00, 0x38, 0x96, 0x98, 0x4e, 0x65, 0x3e, 0x6d, + 0xf6, 0x5d, 0x55, 0x63, 0x1d, 0x43, 0xea, 0x74, 0x7c, 0x84, 0x52, 0xc3, 0x69, 0x5a, 0x85, 0x8d, + 0xb2, 0x68, 0x46, 0xd5, 0x3e, 0x04, 0x70, 0xba, 0x3d, 0x74, 0x05, 0x9f, 0x45, 0x91, 0x92, 0x79, + 0xb8, 0xd5, 0x37, 0xa9, 0x34, 0x30, 0x9f, 0xa3, 0xb9, 0x8e, 0xf1, 0x2e, 0x52, 0xa6, 0x52, 0x9c, + 0x0a, 0x47, 0x3d, 0x9b, 0xd4, 0x14, 0xd1, 0x3b, 0x00, 0x6a, 0xf1, 0xe9, 0x90, 0xd1, 0xeb, 0x98, + 0x78, 0x2a, 0xb9, 0x59, 0xdf, 0x3c, 0x53, 0xb0, 0x7c, 0x8e, 0x66, 0xbb, 0xa7, 0x50, 0xa9, 0x4b, + 0x65, 0x79, 0x24, 0x1a, 0x48, 0xd7, 0x84, 0x95, 0xf6, 0x1d, 0x80, 0xc7, 0xe5, 0xe2, 0xc4, 0x4c, + 0xe3, 0x19, 0x55, 0xdc, 0xa0, 0x9e, 0xcd, 0xfe, 0xc2, 0x68, 0xd8, 0x0b, 0x36, 0x1a, 0x0d, 0x7b, + 0x59, 0xa5, 0xfa, 0x30, 0xcb, 0x64, 0xb1, 0x47, 0xd3, 0x94, 0xb7, 0x24, 0xcd, 0xb5, 0xcf, 0xdb, + 0x37, 0x91, 0xe0, 0x92, 0x8c, 0x83, 0x9b, 0x6e, 0x1d, 0xd7, 0x4c, 0x66, 0x53, 0xa2, 0x86, 0xc2, + 0x97, 0xfa, 0x76, 0x23, 0x0b, 0xb0, 0xf3, 0x62, 0xd2, 0x65, 0x90, 0x4a, 0x5e, 0xde, 0x26, 0xca, + 0xc2, 0x76, 0xa9, 0x6d, 0xaa, 0x7d, 0x09, 0xa0, 0x74, 0xcb, 0x68, 0x92, 0x6e, 0xea, 0x72, 0xfe, + 0x7b, 0xb9, 0xff, 0x4f, 0x90, 0x8d, 0xe9, 0x73, 0x34, 0x1f, 0x67, 0x9f, 0x62, 0x92, 0xca, 0x5f, + 0x46, 0xe3, 0x69, 0x65, 0x1d, 0xf3, 0xe0, 0x6b, 0x00, 0xe7, 0xe2, 0x50, 0x41, 0xb9, 0xc4, 0x5c, + 0x18, 0xde, 0xf7, 0x08, 0x9b, 0x0d, 0x1a, 0x8d, 0xb0, 0xd9, 0x36, 0xe9, 0x97, 0x8b, 0x98, 0x13, + 0x36, 0xa9, 0xc5, 0xbc, 0xf8, 0x00, 0x40, 0xcd, 0xb2, 0x5d, 0xab, 0x59, 0x17, 0xef, 0x61, 0x6b, + 0x39, 0xbc, 0xdf, 0x92, 0xed, 0xc6, 0x8a, 0x4a, 0xb6, 0x5b, 0x97, 0xde, 0x58, 0x62, 0x76, 0x59, + 0x1d, 0x50, 0x9d, 0x22, 0x23, 0x7f, 0x4b, 0x07, 0x6c, 0x9f, 0x2c, 0x69, 0x1d, 0x50, 0x1d, 0x2f, + 0x7b, 0x75, 0x40, 0x75, 0xd2, 0x05, 0x44, 0xe5, 0xa5, 0x2f, 0x49, 0x14, 0xee, 0x97, 0x68, 0x0a, + 0x58, 0x44, 0x34, 0x45, 0x99, 0x11, 0xd1, 0xc0, 0x30, 0x41, 0xf4, 0x53, 0x00, 0x8f, 0xb6, 0x5b, + 0x50, 0x92, 0xeb, 0xa8, 0xe0, 0xfa, 0x62, 0xdf, 0x5c, 0x33, 0xf0, 0x7c, 0x8e, 0x4e, 0x74, 0xdc, + 0x21, 0xf7, 0x66, 0x9c, 0x0b, 0x6d, 0x97, 0x3b, 0xe6, 0x08, 0x4d, 0x5c, 0xde, 0x92, 0x84, 0xc7, + 0xf6, 0x9b, 0xac, 0xdd, 0x58, 0x51, 0xb2, 0x76, 0xeb, 0xd2, 0xcf, 0x97, 0xc0, 0x2e, 0x41, 0xf2, + 0x63, 0x00, 0x67, 0x92, 0xb7, 0xe5, 0xf0, 0x60, 0x19, 0x17, 0x3c, 0x5f, 0xe8, 0x9b, 0x67, 0x3a, + 0x5c, 0xf4, 0x83, 0x4c, 0xaa, 0x3a, 0x95, 0xed, 0x74, 0xfc, 0x4a, 0x1e, 0x9e, 0x21, 0xb7, 0x01, + 0x9c, 0x8a, 0xae, 0xc4, 0x21, 0xd9, 0x09, 0x41, 0xd6, 0xed, 0x9b, 0x6c, 0x37, 0x94, 0xcf, 0x51, + 0xbe, 0xf3, 0xe2, 0xdd, 0x8b, 0xe4, 0x64, 0x78, 0xdf, 0x0e, 0x09, 0xbe, 0x0b, 0xe0, 0x64, 0x93, + 0xd8, 0x9e, 0xd7, 0xc4, 0x55, 0xa3, 0xe1, 0xe2, 0x86, 0xb9, 0x93, 0x9f, 0x14, 0xf4, 0x48, 0xdf, + 0xf4, 0x3a, 0x81, 0x7c, 0x8e, 0x8e, 0x4a, 0x72, 0x1d, 0x8a, 0x54, 0x6a, 0x13, 0xa1, 0xd1, 0x8a, + 0xb0, 0x29, 0x2f, 0xdf, 0xdd, 0x2d, 0x80, 0xfb, 0xbb, 0x05, 0xf0, 0x60, 0xb7, 0x00, 0x7e, 0xdd, + 0x2d, 0x80, 0x9b, 0x0f, 0x0b, 0x03, 0x0f, 0x1e, 0x16, 0x06, 0x7e, 0x7a, 0x58, 0x18, 0xb8, 0x5a, + 0x8a, 0xb1, 0x52, 0xd7, 0x20, 0x82, 0x59, 0xf8, 0x78, 0x56, 0x14, 0xa5, 0xfa, 0xb9, 0x51, 0x50, + 0x5c, 0x1f, 0x12, 0x3f, 0x9a, 0xff, 0xf7, 0x8f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x30, 0xf4, + 0xf7, 0xc4, 0x17, 0x00, 0x00, } func (this *Params) Equal(that interface{}) bool { @@ -895,6 +904,15 @@ func (this *Metrics) Equal(that interface{}) bool { if !this.MetaMiningReward.Equal(that1.MetaMiningReward) { return false } + if !this.ResourceNodeDeposit.Equal(that1.ResourceNodeDeposit) { + return false + } + if !this.MetaNodeDeposit.Equal(that1.MetaNodeDeposit) { + return false + } + if !this.UnissuedPrepay.Equal(that1.UnissuedPrepay) { + return false + } return true } func (m *Params) Marshal() (dAtA []byte, err error) { @@ -1306,6 +1324,36 @@ func (m *Metrics) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size := m.UnissuedPrepay.Size() + i -= size + if _, err := m.UnissuedPrepay.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintPot(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x7a + { + size := m.MetaNodeDeposit.Size() + i -= size + if _, err := m.MetaNodeDeposit.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintPot(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x72 + { + size := m.ResourceNodeDeposit.Size() + i -= size + if _, err := m.ResourceNodeDeposit.MarshalTo(dAtA[i:]); err != nil { + return 0, err + } + i = encodeVarintPot(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x6a { size := m.MetaMiningReward.Size() i -= size @@ -1618,6 +1666,12 @@ func (m *Metrics) Size() (n int) { n += 1 + l + sovPot(uint64(l)) l = m.MetaMiningReward.Size() n += 1 + l + sovPot(uint64(l)) + l = m.ResourceNodeDeposit.Size() + n += 1 + l + sovPot(uint64(l)) + l = m.MetaNodeDeposit.Size() + n += 1 + l + sovPot(uint64(l)) + l = m.UnissuedPrepay.Size() + n += 1 + l + sovPot(uint64(l)) return n } @@ -3163,6 +3217,108 @@ func (m *Metrics) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ResourceNodeDeposit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPot + } + 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 ErrInvalidLengthPot + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPot + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ResourceNodeDeposit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 14: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetaNodeDeposit", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPot + } + 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 ErrInvalidLengthPot + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPot + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.MetaNodeDeposit.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UnissuedPrepay", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowPot + } + 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 ErrInvalidLengthPot + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthPot + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.UnissuedPrepay.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipPot(dAtA[iNdEx:])