diff --git a/Makefile b/Makefile index 15b8f3d752..b9f2fce684 100644 --- a/Makefile +++ b/Makefile @@ -347,7 +347,7 @@ proto-all: proto-gen proto-lint proto-check-breaking proto-format proto-gen: @echo "Generating Protobuf files" - @echo "If you're having trouble with this command, you need to install the latest buf, protoc-gen-gocosmos, protoc-gen-grpc-gateway, protoc-gen-go-pulsar, and protoc-gen-go-grpc locally" + @echo "If you're having trouble with this command, you need to install the latest buf, protoc-gen-gocosmos, protoc-gen-grpc-gateway, protoc-gen-go-pulsar, protoc-gen-go-grpc and protoc-gen-go-cosmos-orm locally" # @if docker ps -a --format '{{.Names}}' | grep -Eq "^${containerProtoGen}$$"; then docker start -a $(containerProtoGen); else docker run --name $(containerProtoGen) -v $(CURDIR):/workspace --workdir /workspace $(containerProtoImage) \ # sh ./scripts/protocgen.sh; fi ./scripts/protocgen.sh diff --git a/api/regen/ecocredit/basket/v1beta1/state.cosmos_orm.go b/api/regen/ecocredit/basket/v1beta1/state.cosmos_orm.go new file mode 100644 index 0000000000..8dda122bd5 --- /dev/null +++ b/api/regen/ecocredit/basket/v1beta1/state.cosmos_orm.go @@ -0,0 +1,145 @@ +// Code generated by protoc-gen-go-cosmos-orm. DO NOT EDIT. + +package basketv1beta1 + +import ( + context "context" + ormdb "github.com/cosmos/cosmos-sdk/orm/model/ormdb" + ormlist "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + ormtable "github.com/cosmos/cosmos-sdk/orm/model/ormtable" + ormerrors "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" +) + +type BasketBalanceStore interface { + Insert(ctx context.Context, basketBalance *BasketBalance) error + Update(ctx context.Context, basketBalance *BasketBalance) error + Save(ctx context.Context, basketBalance *BasketBalance) error + Delete(ctx context.Context, basketBalance *BasketBalance) error + Has(ctx context.Context, basket_denom string, batch_id uint64) (found bool, err error) + Get(ctx context.Context, basket_denom string, batch_id uint64) (*BasketBalance, error) + List(ctx context.Context, prefixKey BasketBalanceIndexKey, opts ...ormlist.Option) (BasketBalanceIterator, error) + ListRange(ctx context.Context, from, to BasketBalanceIndexKey, opts ...ormlist.Option) (BasketBalanceIterator, error) + + doNotImplement() +} + +type BasketBalanceIterator struct { + ormtable.Iterator +} + +func (i BasketBalanceIterator) Value() (*BasketBalance, error) { + var basketBalance BasketBalance + err := i.UnmarshalMessage(&basketBalance) + return &basketBalance, err +} + +type BasketBalanceIndexKey interface { + id() uint32 + values() []interface{} + basketBalanceIndexKey() +} + +// primary key starting index.. +type BasketBalanceBasketDenomBatchIdIndexKey struct { + vs []interface{} +} + +func (x BasketBalanceBasketDenomBatchIdIndexKey) id() uint32 { return 1 } +func (x BasketBalanceBasketDenomBatchIdIndexKey) values() []interface{} { return x.vs } +func (x BasketBalanceBasketDenomBatchIdIndexKey) basketBalanceIndexKey() {} + +func (this BasketBalanceBasketDenomBatchIdIndexKey) WithBasketDenom(basket_denom string) BasketBalanceBasketDenomBatchIdIndexKey { + this.vs = []interface{}{basket_denom} + return this +} + +func (this BasketBalanceBasketDenomBatchIdIndexKey) WithBasketDenomBatchId(basket_denom string, batch_id uint64) BasketBalanceBasketDenomBatchIdIndexKey { + this.vs = []interface{}{basket_denom, batch_id} + return this +} + +type basketBalanceStore struct { + table ormtable.Table +} + +func (this basketBalanceStore) Insert(ctx context.Context, basketBalance *BasketBalance) error { + return this.table.Insert(ctx, basketBalance) +} + +func (this basketBalanceStore) Update(ctx context.Context, basketBalance *BasketBalance) error { + return this.table.Update(ctx, basketBalance) +} + +func (this basketBalanceStore) Save(ctx context.Context, basketBalance *BasketBalance) error { + return this.table.Save(ctx, basketBalance) +} + +func (this basketBalanceStore) Delete(ctx context.Context, basketBalance *BasketBalance) error { + return this.table.Delete(ctx, basketBalance) +} + +func (this basketBalanceStore) Has(ctx context.Context, basket_denom string, batch_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, basket_denom, batch_id) +} + +func (this basketBalanceStore) Get(ctx context.Context, basket_denom string, batch_id uint64) (*BasketBalance, error) { + var basketBalance BasketBalance + found, err := this.table.PrimaryKey().Get(ctx, &basketBalance, basket_denom, batch_id) + if !found { + return nil, err + } + return &basketBalance, err +} + +func (this basketBalanceStore) List(ctx context.Context, prefixKey BasketBalanceIndexKey, opts ...ormlist.Option) (BasketBalanceIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BasketBalanceIterator{it}, err +} + +func (this basketBalanceStore) ListRange(ctx context.Context, from, to BasketBalanceIndexKey, opts ...ormlist.Option) (BasketBalanceIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BasketBalanceIterator{it}, err +} + +func (this basketBalanceStore) doNotImplement() {} + +var _ BasketBalanceStore = basketBalanceStore{} + +func NewBasketBalanceStore(db ormdb.ModuleDB) (BasketBalanceStore, error) { + table := db.GetTable(&BasketBalance{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BasketBalance{}).ProtoReflect().Descriptor().FullName())) + } + return basketBalanceStore{table}, nil +} + +type StateStore interface { + BasketBalanceStore() BasketBalanceStore + + doNotImplement() +} + +type stateStore struct { + basketBalance BasketBalanceStore +} + +func (x stateStore) BasketBalanceStore() BasketBalanceStore { + return x.basketBalance +} + +func (stateStore) doNotImplement() {} + +var _ StateStore = stateStore{} + +func NewStateStore(db ormdb.ModuleDB) (StateStore, error) { + basketBalanceStore, err := NewBasketBalanceStore(db) + if err != nil { + return nil, err + } + + return stateStore{ + basketBalanceStore, + }, nil +} diff --git a/api/regen/ecocredit/basket/v1beta1/state.pulsar.go b/api/regen/ecocredit/basket/v1beta1/state.pulsar.go new file mode 100644 index 0000000000..2a2a56f81a --- /dev/null +++ b/api/regen/ecocredit/basket/v1beta1/state.pulsar.go @@ -0,0 +1,716 @@ +package basketv1beta1 + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoiface "google.golang.org/protobuf/runtime/protoiface" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_BasketBalance protoreflect.MessageDescriptor + fd_BasketBalance_basket_denom protoreflect.FieldDescriptor + fd_BasketBalance_batch_id protoreflect.FieldDescriptor + fd_BasketBalance_balance protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_basket_v1beta1_state_proto_init() + md_BasketBalance = File_regen_ecocredit_basket_v1beta1_state_proto.Messages().ByName("BasketBalance") + fd_BasketBalance_basket_denom = md_BasketBalance.Fields().ByName("basket_denom") + fd_BasketBalance_batch_id = md_BasketBalance.Fields().ByName("batch_id") + fd_BasketBalance_balance = md_BasketBalance.Fields().ByName("balance") +} + +var _ protoreflect.Message = (*fastReflection_BasketBalance)(nil) + +type fastReflection_BasketBalance BasketBalance + +func (x *BasketBalance) ProtoReflect() protoreflect.Message { + return (*fastReflection_BasketBalance)(x) +} + +func (x *BasketBalance) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_basket_v1beta1_state_proto_msgTypes[0] + 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_BasketBalance_messageType fastReflection_BasketBalance_messageType +var _ protoreflect.MessageType = fastReflection_BasketBalance_messageType{} + +type fastReflection_BasketBalance_messageType struct{} + +func (x fastReflection_BasketBalance_messageType) Zero() protoreflect.Message { + return (*fastReflection_BasketBalance)(nil) +} +func (x fastReflection_BasketBalance_messageType) New() protoreflect.Message { + return new(fastReflection_BasketBalance) +} +func (x fastReflection_BasketBalance_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BasketBalance +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BasketBalance) Descriptor() protoreflect.MessageDescriptor { + return md_BasketBalance +} + +// 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_BasketBalance) Type() protoreflect.MessageType { + return _fastReflection_BasketBalance_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BasketBalance) New() protoreflect.Message { + return new(fastReflection_BasketBalance) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BasketBalance) Interface() protoreflect.ProtoMessage { + return (*BasketBalance)(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_BasketBalance) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BasketDenom != "" { + value := protoreflect.ValueOfString(x.BasketDenom) + if !f(fd_BasketBalance_basket_denom, value) { + return + } + } + if x.BatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BatchId) + if !f(fd_BasketBalance_batch_id, value) { + return + } + } + if x.Balance != "" { + value := protoreflect.ValueOfString(x.Balance) + if !f(fd_BasketBalance_balance, 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_BasketBalance) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + return x.BasketDenom != "" + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + return x.BatchId != uint64(0) + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + return x.Balance != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + x.BasketDenom = "" + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + x.BatchId = uint64(0) + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + x.Balance = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + value := x.BasketDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + value := x.BatchId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + value := x.Balance + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + x.BasketDenom = value.Interface().(string) + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + x.BatchId = value.Uint() + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + x.Balance = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + panic(fmt.Errorf("field basket_denom of message regen.ecocredit.basket.v1beta1.BasketBalance is not mutable")) + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + panic(fmt.Errorf("field batch_id of message regen.ecocredit.basket.v1beta1.BasketBalance is not mutable")) + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + panic(fmt.Errorf("field balance of message regen.ecocredit.basket.v1beta1.BasketBalance is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.basket.v1beta1.BasketBalance.basket_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.basket.v1beta1.BasketBalance.batch_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.basket.v1beta1.BasketBalance.balance": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.basket.v1beta1.BasketBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.basket.v1beta1.BasketBalance 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_BasketBalance) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.basket.v1beta1.BasketBalance", 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_BasketBalance) 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_BasketBalance) 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_BasketBalance) 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_BasketBalance) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BasketBalance) + 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.BasketDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BatchId != 0 { + n += 1 + runtime.Sov(uint64(x.BatchId)) + } + l = len(x.Balance) + if l > 0 { + 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().(*BasketBalance) + 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.Balance) > 0 { + i -= len(x.Balance) + copy(dAtA[i:], x.Balance) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Balance))) + i-- + dAtA[i] = 0x1a + } + if x.BatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BatchId)) + i-- + dAtA[i] = 0x10 + } + if len(x.BasketDenom) > 0 { + i -= len(x.BasketDenom) + copy(dAtA[i:], x.BasketDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BasketDenom))) + 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().(*BasketBalance) + 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: BasketBalance: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BasketBalance: 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 BasketDenom", 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.BasketDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BatchId", wireType) + } + x.BatchId = 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.BatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Balance", 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.Balance = string(dAtA[iNdEx:postIndex]) + 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, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: regen/ecocredit/basket/v1beta1/state.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// BasketBalance stores the amount of credits from a batch in a basket +type BasketBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // basket_denom is the denom of the basket + BasketDenom string `protobuf:"bytes,1,opt,name=basket_denom,json=basketDenom,proto3" json:"basket_denom,omitempty"` + // batch_id is the id of the credit batch + BatchId uint64 `protobuf:"varint,2,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"` + // balance is the amount of ecocredits held in the basket + Balance string `protobuf:"bytes,3,opt,name=balance,proto3" json:"balance,omitempty"` +} + +func (x *BasketBalance) Reset() { + *x = BasketBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_basket_v1beta1_state_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BasketBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BasketBalance) ProtoMessage() {} + +// Deprecated: Use BasketBalance.ProtoReflect.Descriptor instead. +func (*BasketBalance) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_basket_v1beta1_state_proto_rawDescGZIP(), []int{0} +} + +func (x *BasketBalance) GetBasketDenom() string { + if x != nil { + return x.BasketDenom + } + return "" +} + +func (x *BasketBalance) GetBatchId() uint64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *BasketBalance) GetBalance() string { + if x != nil { + return x.Balance + } + return "" +} + +var File_regen_ecocredit_basket_v1beta1_state_proto protoreflect.FileDescriptor + +var file_regen_ecocredit_basket_v1beta1_state_proto_rawDesc = []byte{ + 0x0a, 0x2a, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x62, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x01, 0x0a, 0x0d, + 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, + 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x21, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1b, 0x0a, 0x17, 0x0a, + 0x15, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x2c, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x42, 0xa3, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, + 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, + 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x42, 0xaa, 0x02, 0x1e, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x42, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1e, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x42, + 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2a, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, + 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x21, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x42, + 0x61, 0x73, 0x6b, 0x65, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_regen_ecocredit_basket_v1beta1_state_proto_rawDescOnce sync.Once + file_regen_ecocredit_basket_v1beta1_state_proto_rawDescData = file_regen_ecocredit_basket_v1beta1_state_proto_rawDesc +) + +func file_regen_ecocredit_basket_v1beta1_state_proto_rawDescGZIP() []byte { + file_regen_ecocredit_basket_v1beta1_state_proto_rawDescOnce.Do(func() { + file_regen_ecocredit_basket_v1beta1_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_basket_v1beta1_state_proto_rawDescData) + }) + return file_regen_ecocredit_basket_v1beta1_state_proto_rawDescData +} + +var file_regen_ecocredit_basket_v1beta1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_regen_ecocredit_basket_v1beta1_state_proto_goTypes = []interface{}{ + (*BasketBalance)(nil), // 0: regen.ecocredit.basket.v1beta1.BasketBalance +} +var file_regen_ecocredit_basket_v1beta1_state_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_regen_ecocredit_basket_v1beta1_state_proto_init() } +func file_regen_ecocredit_basket_v1beta1_state_proto_init() { + if File_regen_ecocredit_basket_v1beta1_state_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_regen_ecocredit_basket_v1beta1_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BasketBalance); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_regen_ecocredit_basket_v1beta1_state_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_regen_ecocredit_basket_v1beta1_state_proto_goTypes, + DependencyIndexes: file_regen_ecocredit_basket_v1beta1_state_proto_depIdxs, + MessageInfos: file_regen_ecocredit_basket_v1beta1_state_proto_msgTypes, + }.Build() + File_regen_ecocredit_basket_v1beta1_state_proto = out.File + file_regen_ecocredit_basket_v1beta1_state_proto_rawDesc = nil + file_regen_ecocredit_basket_v1beta1_state_proto_goTypes = nil + file_regen_ecocredit_basket_v1beta1_state_proto_depIdxs = nil +} diff --git a/api/regen/ecocredit/marketplace/v1beta1/state.cosmos_orm.go b/api/regen/ecocredit/marketplace/v1beta1/state.cosmos_orm.go new file mode 100644 index 0000000000..1392232d13 --- /dev/null +++ b/api/regen/ecocredit/marketplace/v1beta1/state.cosmos_orm.go @@ -0,0 +1,613 @@ +// Code generated by protoc-gen-go-cosmos-orm. DO NOT EDIT. + +package marketplacev1beta1 + +import ( + context "context" + ormdb "github.com/cosmos/cosmos-sdk/orm/model/ormdb" + ormlist "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + ormtable "github.com/cosmos/cosmos-sdk/orm/model/ormtable" + ormerrors "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +type SellOrderStore interface { + Insert(ctx context.Context, sellOrder *SellOrder) error + Update(ctx context.Context, sellOrder *SellOrder) error + Save(ctx context.Context, sellOrder *SellOrder) error + Delete(ctx context.Context, sellOrder *SellOrder) error + Has(ctx context.Context, order_id uint64) (found bool, err error) + Get(ctx context.Context, order_id uint64) (*SellOrder, error) + List(ctx context.Context, prefixKey SellOrderIndexKey, opts ...ormlist.Option) (SellOrderIterator, error) + ListRange(ctx context.Context, from, to SellOrderIndexKey, opts ...ormlist.Option) (SellOrderIterator, error) + + doNotImplement() +} + +type SellOrderIterator struct { + ormtable.Iterator +} + +func (i SellOrderIterator) Value() (*SellOrder, error) { + var sellOrder SellOrder + err := i.UnmarshalMessage(&sellOrder) + return &sellOrder, err +} + +type SellOrderIndexKey interface { + id() uint32 + values() []interface{} + sellOrderIndexKey() +} + +// primary key starting index.. +type SellOrderOrderIdIndexKey struct { + vs []interface{} +} + +func (x SellOrderOrderIdIndexKey) id() uint32 { return 1 } +func (x SellOrderOrderIdIndexKey) values() []interface{} { return x.vs } +func (x SellOrderOrderIdIndexKey) sellOrderIndexKey() {} + +func (this SellOrderOrderIdIndexKey) WithOrderId(order_id uint64) SellOrderOrderIdIndexKey { + this.vs = []interface{}{order_id} + return this +} + +type SellOrderBatchDenomIndexKey struct { + vs []interface{} +} + +func (x SellOrderBatchDenomIndexKey) id() uint32 { return 1 } +func (x SellOrderBatchDenomIndexKey) values() []interface{} { return x.vs } +func (x SellOrderBatchDenomIndexKey) sellOrderIndexKey() {} + +func (this SellOrderBatchDenomIndexKey) WithBatchDenom(batch_denom string) SellOrderBatchDenomIndexKey { + this.vs = []interface{}{batch_denom} + return this +} + +type SellOrderOwnerIndexKey struct { + vs []interface{} +} + +func (x SellOrderOwnerIndexKey) id() uint32 { return 2 } +func (x SellOrderOwnerIndexKey) values() []interface{} { return x.vs } +func (x SellOrderOwnerIndexKey) sellOrderIndexKey() {} + +func (this SellOrderOwnerIndexKey) WithOwner(owner string) SellOrderOwnerIndexKey { + this.vs = []interface{}{owner} + return this +} + +type SellOrderExpirationIndexKey struct { + vs []interface{} +} + +func (x SellOrderExpirationIndexKey) id() uint32 { return 3 } +func (x SellOrderExpirationIndexKey) values() []interface{} { return x.vs } +func (x SellOrderExpirationIndexKey) sellOrderIndexKey() {} + +func (this SellOrderExpirationIndexKey) WithExpiration(expiration *timestamppb.Timestamp) SellOrderExpirationIndexKey { + this.vs = []interface{}{expiration} + return this +} + +type sellOrderStore struct { + table ormtable.Table +} + +func (this sellOrderStore) Insert(ctx context.Context, sellOrder *SellOrder) error { + return this.table.Insert(ctx, sellOrder) +} + +func (this sellOrderStore) Update(ctx context.Context, sellOrder *SellOrder) error { + return this.table.Update(ctx, sellOrder) +} + +func (this sellOrderStore) Save(ctx context.Context, sellOrder *SellOrder) error { + return this.table.Save(ctx, sellOrder) +} + +func (this sellOrderStore) Delete(ctx context.Context, sellOrder *SellOrder) error { + return this.table.Delete(ctx, sellOrder) +} + +func (this sellOrderStore) Has(ctx context.Context, order_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, order_id) +} + +func (this sellOrderStore) Get(ctx context.Context, order_id uint64) (*SellOrder, error) { + var sellOrder SellOrder + found, err := this.table.PrimaryKey().Get(ctx, &sellOrder, order_id) + if !found { + return nil, err + } + return &sellOrder, err +} + +func (this sellOrderStore) List(ctx context.Context, prefixKey SellOrderIndexKey, opts ...ormlist.Option) (SellOrderIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return SellOrderIterator{it}, err +} + +func (this sellOrderStore) ListRange(ctx context.Context, from, to SellOrderIndexKey, opts ...ormlist.Option) (SellOrderIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return SellOrderIterator{it}, err +} + +func (this sellOrderStore) doNotImplement() {} + +var _ SellOrderStore = sellOrderStore{} + +func NewSellOrderStore(db ormdb.ModuleDB) (SellOrderStore, error) { + table := db.GetTable(&SellOrder{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&SellOrder{}).ProtoReflect().Descriptor().FullName())) + } + return sellOrderStore{table}, nil +} + +type BuyOrderStore interface { + Insert(ctx context.Context, buyOrder *BuyOrder) error + Update(ctx context.Context, buyOrder *BuyOrder) error + Save(ctx context.Context, buyOrder *BuyOrder) error + Delete(ctx context.Context, buyOrder *BuyOrder) error + Has(ctx context.Context, buy_order_id uint64) (found bool, err error) + Get(ctx context.Context, buy_order_id uint64) (*BuyOrder, error) + List(ctx context.Context, prefixKey BuyOrderIndexKey, opts ...ormlist.Option) (BuyOrderIterator, error) + ListRange(ctx context.Context, from, to BuyOrderIndexKey, opts ...ormlist.Option) (BuyOrderIterator, error) + + doNotImplement() +} + +type BuyOrderIterator struct { + ormtable.Iterator +} + +func (i BuyOrderIterator) Value() (*BuyOrder, error) { + var buyOrder BuyOrder + err := i.UnmarshalMessage(&buyOrder) + return &buyOrder, err +} + +type BuyOrderIndexKey interface { + id() uint32 + values() []interface{} + buyOrderIndexKey() +} + +// primary key starting index.. +type BuyOrderBuyOrderIdIndexKey struct { + vs []interface{} +} + +func (x BuyOrderBuyOrderIdIndexKey) id() uint32 { return 2 } +func (x BuyOrderBuyOrderIdIndexKey) values() []interface{} { return x.vs } +func (x BuyOrderBuyOrderIdIndexKey) buyOrderIndexKey() {} + +func (this BuyOrderBuyOrderIdIndexKey) WithBuyOrderId(buy_order_id uint64) BuyOrderBuyOrderIdIndexKey { + this.vs = []interface{}{buy_order_id} + return this +} + +type BuyOrderBuyerIndexKey struct { + vs []interface{} +} + +func (x BuyOrderBuyerIndexKey) id() uint32 { return 1 } +func (x BuyOrderBuyerIndexKey) values() []interface{} { return x.vs } +func (x BuyOrderBuyerIndexKey) buyOrderIndexKey() {} + +func (this BuyOrderBuyerIndexKey) WithBuyer(buyer string) BuyOrderBuyerIndexKey { + this.vs = []interface{}{buyer} + return this +} + +type BuyOrderExpirationIndexKey struct { + vs []interface{} +} + +func (x BuyOrderExpirationIndexKey) id() uint32 { return 2 } +func (x BuyOrderExpirationIndexKey) values() []interface{} { return x.vs } +func (x BuyOrderExpirationIndexKey) buyOrderIndexKey() {} + +func (this BuyOrderExpirationIndexKey) WithExpiration(expiration *timestamppb.Timestamp) BuyOrderExpirationIndexKey { + this.vs = []interface{}{expiration} + return this +} + +type buyOrderStore struct { + table ormtable.Table +} + +func (this buyOrderStore) Insert(ctx context.Context, buyOrder *BuyOrder) error { + return this.table.Insert(ctx, buyOrder) +} + +func (this buyOrderStore) Update(ctx context.Context, buyOrder *BuyOrder) error { + return this.table.Update(ctx, buyOrder) +} + +func (this buyOrderStore) Save(ctx context.Context, buyOrder *BuyOrder) error { + return this.table.Save(ctx, buyOrder) +} + +func (this buyOrderStore) Delete(ctx context.Context, buyOrder *BuyOrder) error { + return this.table.Delete(ctx, buyOrder) +} + +func (this buyOrderStore) Has(ctx context.Context, buy_order_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, buy_order_id) +} + +func (this buyOrderStore) Get(ctx context.Context, buy_order_id uint64) (*BuyOrder, error) { + var buyOrder BuyOrder + found, err := this.table.PrimaryKey().Get(ctx, &buyOrder, buy_order_id) + if !found { + return nil, err + } + return &buyOrder, err +} + +func (this buyOrderStore) List(ctx context.Context, prefixKey BuyOrderIndexKey, opts ...ormlist.Option) (BuyOrderIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BuyOrderIterator{it}, err +} + +func (this buyOrderStore) ListRange(ctx context.Context, from, to BuyOrderIndexKey, opts ...ormlist.Option) (BuyOrderIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BuyOrderIterator{it}, err +} + +func (this buyOrderStore) doNotImplement() {} + +var _ BuyOrderStore = buyOrderStore{} + +func NewBuyOrderStore(db ormdb.ModuleDB) (BuyOrderStore, error) { + table := db.GetTable(&BuyOrder{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BuyOrder{}).ProtoReflect().Descriptor().FullName())) + } + return buyOrderStore{table}, nil +} + +type AllowedDenomStore interface { + Insert(ctx context.Context, allowedDenom *AllowedDenom) error + Update(ctx context.Context, allowedDenom *AllowedDenom) error + Save(ctx context.Context, allowedDenom *AllowedDenom) error + Delete(ctx context.Context, allowedDenom *AllowedDenom) error + Has(ctx context.Context, bank_denom string) (found bool, err error) + Get(ctx context.Context, bank_denom string) (*AllowedDenom, error) + HasByDisplayDenom(ctx context.Context, display_denom string) (found bool, err error) + GetByDisplayDenom(ctx context.Context, display_denom string) (*AllowedDenom, error) + List(ctx context.Context, prefixKey AllowedDenomIndexKey, opts ...ormlist.Option) (AllowedDenomIterator, error) + ListRange(ctx context.Context, from, to AllowedDenomIndexKey, opts ...ormlist.Option) (AllowedDenomIterator, error) + + doNotImplement() +} + +type AllowedDenomIterator struct { + ormtable.Iterator +} + +func (i AllowedDenomIterator) Value() (*AllowedDenom, error) { + var allowedDenom AllowedDenom + err := i.UnmarshalMessage(&allowedDenom) + return &allowedDenom, err +} + +type AllowedDenomIndexKey interface { + id() uint32 + values() []interface{} + allowedDenomIndexKey() +} + +// primary key starting index.. +type AllowedDenomBankDenomIndexKey struct { + vs []interface{} +} + +func (x AllowedDenomBankDenomIndexKey) id() uint32 { return 3 } +func (x AllowedDenomBankDenomIndexKey) values() []interface{} { return x.vs } +func (x AllowedDenomBankDenomIndexKey) allowedDenomIndexKey() {} + +func (this AllowedDenomBankDenomIndexKey) WithBankDenom(bank_denom string) AllowedDenomBankDenomIndexKey { + this.vs = []interface{}{bank_denom} + return this +} + +type AllowedDenomDisplayDenomIndexKey struct { + vs []interface{} +} + +func (x AllowedDenomDisplayDenomIndexKey) id() uint32 { return 1 } +func (x AllowedDenomDisplayDenomIndexKey) values() []interface{} { return x.vs } +func (x AllowedDenomDisplayDenomIndexKey) allowedDenomIndexKey() {} + +func (this AllowedDenomDisplayDenomIndexKey) WithDisplayDenom(display_denom string) AllowedDenomDisplayDenomIndexKey { + this.vs = []interface{}{display_denom} + return this +} + +type allowedDenomStore struct { + table ormtable.Table +} + +func (this allowedDenomStore) Insert(ctx context.Context, allowedDenom *AllowedDenom) error { + return this.table.Insert(ctx, allowedDenom) +} + +func (this allowedDenomStore) Update(ctx context.Context, allowedDenom *AllowedDenom) error { + return this.table.Update(ctx, allowedDenom) +} + +func (this allowedDenomStore) Save(ctx context.Context, allowedDenom *AllowedDenom) error { + return this.table.Save(ctx, allowedDenom) +} + +func (this allowedDenomStore) Delete(ctx context.Context, allowedDenom *AllowedDenom) error { + return this.table.Delete(ctx, allowedDenom) +} + +func (this allowedDenomStore) Has(ctx context.Context, bank_denom string) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, bank_denom) +} + +func (this allowedDenomStore) Get(ctx context.Context, bank_denom string) (*AllowedDenom, error) { + var allowedDenom AllowedDenom + found, err := this.table.PrimaryKey().Get(ctx, &allowedDenom, bank_denom) + if !found { + return nil, err + } + return &allowedDenom, err +} + +func (this allowedDenomStore) HasByDisplayDenom(ctx context.Context, display_denom string) (found bool, err error) { + return this.table.Has(ctx, &AllowedDenom{ + DisplayDenom: display_denom, + }) +} + +func (this allowedDenomStore) GetByDisplayDenom(ctx context.Context, display_denom string) (*AllowedDenom, error) { + allowedDenom := &AllowedDenom{ + DisplayDenom: display_denom, + } + found, err := this.table.Get(ctx, allowedDenom) + if !found { + return nil, err + } + return allowedDenom, nil +} + +func (this allowedDenomStore) List(ctx context.Context, prefixKey AllowedDenomIndexKey, opts ...ormlist.Option) (AllowedDenomIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return AllowedDenomIterator{it}, err +} + +func (this allowedDenomStore) ListRange(ctx context.Context, from, to AllowedDenomIndexKey, opts ...ormlist.Option) (AllowedDenomIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return AllowedDenomIterator{it}, err +} + +func (this allowedDenomStore) doNotImplement() {} + +var _ AllowedDenomStore = allowedDenomStore{} + +func NewAllowedDenomStore(db ormdb.ModuleDB) (AllowedDenomStore, error) { + table := db.GetTable(&AllowedDenom{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&AllowedDenom{}).ProtoReflect().Descriptor().FullName())) + } + return allowedDenomStore{table}, nil +} + +type MarketStore interface { + Insert(ctx context.Context, market *Market) error + Update(ctx context.Context, market *Market) error + Save(ctx context.Context, market *Market) error + Delete(ctx context.Context, market *Market) error + Has(ctx context.Context, id uint64) (found bool, err error) + Get(ctx context.Context, id uint64) (*Market, error) + HasByCreditTypeBankDenom(ctx context.Context, credit_type string, bank_denom string) (found bool, err error) + GetByCreditTypeBankDenom(ctx context.Context, credit_type string, bank_denom string) (*Market, error) + List(ctx context.Context, prefixKey MarketIndexKey, opts ...ormlist.Option) (MarketIterator, error) + ListRange(ctx context.Context, from, to MarketIndexKey, opts ...ormlist.Option) (MarketIterator, error) + + doNotImplement() +} + +type MarketIterator struct { + ormtable.Iterator +} + +func (i MarketIterator) Value() (*Market, error) { + var market Market + err := i.UnmarshalMessage(&market) + return &market, err +} + +type MarketIndexKey interface { + id() uint32 + values() []interface{} + marketIndexKey() +} + +// primary key starting index.. +type MarketIdIndexKey struct { + vs []interface{} +} + +func (x MarketIdIndexKey) id() uint32 { return 4 } +func (x MarketIdIndexKey) values() []interface{} { return x.vs } +func (x MarketIdIndexKey) marketIndexKey() {} + +func (this MarketIdIndexKey) WithId(id uint64) MarketIdIndexKey { + this.vs = []interface{}{id} + return this +} + +type MarketCreditTypeBankDenomIndexKey struct { + vs []interface{} +} + +func (x MarketCreditTypeBankDenomIndexKey) id() uint32 { return 1 } +func (x MarketCreditTypeBankDenomIndexKey) values() []interface{} { return x.vs } +func (x MarketCreditTypeBankDenomIndexKey) marketIndexKey() {} + +func (this MarketCreditTypeBankDenomIndexKey) WithCreditType(credit_type string) MarketCreditTypeBankDenomIndexKey { + this.vs = []interface{}{credit_type} + return this +} + +func (this MarketCreditTypeBankDenomIndexKey) WithCreditTypeBankDenom(credit_type string, bank_denom string) MarketCreditTypeBankDenomIndexKey { + this.vs = []interface{}{credit_type, bank_denom} + return this +} + +type marketStore struct { + table ormtable.Table +} + +func (this marketStore) Insert(ctx context.Context, market *Market) error { + return this.table.Insert(ctx, market) +} + +func (this marketStore) Update(ctx context.Context, market *Market) error { + return this.table.Update(ctx, market) +} + +func (this marketStore) Save(ctx context.Context, market *Market) error { + return this.table.Save(ctx, market) +} + +func (this marketStore) Delete(ctx context.Context, market *Market) error { + return this.table.Delete(ctx, market) +} + +func (this marketStore) Has(ctx context.Context, id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, id) +} + +func (this marketStore) Get(ctx context.Context, id uint64) (*Market, error) { + var market Market + found, err := this.table.PrimaryKey().Get(ctx, &market, id) + if !found { + return nil, err + } + return &market, err +} + +func (this marketStore) HasByCreditTypeBankDenom(ctx context.Context, credit_type string, bank_denom string) (found bool, err error) { + return this.table.Has(ctx, &Market{ + CreditType: credit_type, + BankDenom: bank_denom, + }) +} + +func (this marketStore) GetByCreditTypeBankDenom(ctx context.Context, credit_type string, bank_denom string) (*Market, error) { + market := &Market{ + CreditType: credit_type, + BankDenom: bank_denom, + } + found, err := this.table.Get(ctx, market) + if !found { + return nil, err + } + return market, nil +} + +func (this marketStore) List(ctx context.Context, prefixKey MarketIndexKey, opts ...ormlist.Option) (MarketIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return MarketIterator{it}, err +} + +func (this marketStore) ListRange(ctx context.Context, from, to MarketIndexKey, opts ...ormlist.Option) (MarketIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return MarketIterator{it}, err +} + +func (this marketStore) doNotImplement() {} + +var _ MarketStore = marketStore{} + +func NewMarketStore(db ormdb.ModuleDB) (MarketStore, error) { + table := db.GetTable(&Market{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&Market{}).ProtoReflect().Descriptor().FullName())) + } + return marketStore{table}, nil +} + +type StateStore interface { + SellOrderStore() SellOrderStore + BuyOrderStore() BuyOrderStore + AllowedDenomStore() AllowedDenomStore + MarketStore() MarketStore + + doNotImplement() +} + +type stateStore struct { + sellOrder SellOrderStore + buyOrder BuyOrderStore + allowedDenom AllowedDenomStore + market MarketStore +} + +func (x stateStore) SellOrderStore() SellOrderStore { + return x.sellOrder +} + +func (x stateStore) BuyOrderStore() BuyOrderStore { + return x.buyOrder +} + +func (x stateStore) AllowedDenomStore() AllowedDenomStore { + return x.allowedDenom +} + +func (x stateStore) MarketStore() MarketStore { + return x.market +} + +func (stateStore) doNotImplement() {} + +var _ StateStore = stateStore{} + +func NewStateStore(db ormdb.ModuleDB) (StateStore, error) { + sellOrderStore, err := NewSellOrderStore(db) + if err != nil { + return nil, err + } + + buyOrderStore, err := NewBuyOrderStore(db) + if err != nil { + return nil, err + } + + allowedDenomStore, err := NewAllowedDenomStore(db) + if err != nil { + return nil, err + } + + marketStore, err := NewMarketStore(db) + if err != nil { + return nil, err + } + + return stateStore{ + sellOrderStore, + buyOrderStore, + allowedDenomStore, + marketStore, + }, nil +} diff --git a/api/regen/ecocredit/marketplace/v1beta1/state.pulsar.go b/api/regen/ecocredit/marketplace/v1beta1/state.pulsar.go new file mode 100644 index 0000000000..45a7948b23 --- /dev/null +++ b/api/regen/ecocredit/marketplace/v1beta1/state.pulsar.go @@ -0,0 +1,4183 @@ +package marketplacev1beta1 + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + _ "github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1" + 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" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_SellOrder protoreflect.MessageDescriptor + fd_SellOrder_order_id protoreflect.FieldDescriptor + fd_SellOrder_owner protoreflect.FieldDescriptor + fd_SellOrder_batch_denom protoreflect.FieldDescriptor + fd_SellOrder_quantity protoreflect.FieldDescriptor + fd_SellOrder_ask_price protoreflect.FieldDescriptor + fd_SellOrder_disable_auto_retire protoreflect.FieldDescriptor + fd_SellOrder_expiration protoreflect.FieldDescriptor + fd_SellOrder_maker protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_init() + md_SellOrder = File_regen_ecocredit_marketplace_v1beta1_state_proto.Messages().ByName("SellOrder") + fd_SellOrder_order_id = md_SellOrder.Fields().ByName("order_id") + fd_SellOrder_owner = md_SellOrder.Fields().ByName("owner") + fd_SellOrder_batch_denom = md_SellOrder.Fields().ByName("batch_denom") + fd_SellOrder_quantity = md_SellOrder.Fields().ByName("quantity") + fd_SellOrder_ask_price = md_SellOrder.Fields().ByName("ask_price") + fd_SellOrder_disable_auto_retire = md_SellOrder.Fields().ByName("disable_auto_retire") + fd_SellOrder_expiration = md_SellOrder.Fields().ByName("expiration") + fd_SellOrder_maker = md_SellOrder.Fields().ByName("maker") +} + +var _ protoreflect.Message = (*fastReflection_SellOrder)(nil) + +type fastReflection_SellOrder SellOrder + +func (x *SellOrder) ProtoReflect() protoreflect.Message { + return (*fastReflection_SellOrder)(x) +} + +func (x *SellOrder) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[0] + 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_SellOrder_messageType fastReflection_SellOrder_messageType +var _ protoreflect.MessageType = fastReflection_SellOrder_messageType{} + +type fastReflection_SellOrder_messageType struct{} + +func (x fastReflection_SellOrder_messageType) Zero() protoreflect.Message { + return (*fastReflection_SellOrder)(nil) +} +func (x fastReflection_SellOrder_messageType) New() protoreflect.Message { + return new(fastReflection_SellOrder) +} +func (x fastReflection_SellOrder_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_SellOrder +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_SellOrder) Descriptor() protoreflect.MessageDescriptor { + return md_SellOrder +} + +// 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_SellOrder) Type() protoreflect.MessageType { + return _fastReflection_SellOrder_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_SellOrder) New() protoreflect.Message { + return new(fastReflection_SellOrder) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_SellOrder) Interface() protoreflect.ProtoMessage { + return (*SellOrder)(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_SellOrder) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.OrderId != uint64(0) { + value := protoreflect.ValueOfUint64(x.OrderId) + if !f(fd_SellOrder_order_id, value) { + return + } + } + if x.Owner != "" { + value := protoreflect.ValueOfString(x.Owner) + if !f(fd_SellOrder_owner, value) { + return + } + } + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_SellOrder_batch_denom, value) { + return + } + } + if x.Quantity != "" { + value := protoreflect.ValueOfString(x.Quantity) + if !f(fd_SellOrder_quantity, value) { + return + } + } + if x.AskPrice != nil { + value := protoreflect.ValueOfMessage(x.AskPrice.ProtoReflect()) + if !f(fd_SellOrder_ask_price, value) { + return + } + } + if x.DisableAutoRetire != false { + value := protoreflect.ValueOfBool(x.DisableAutoRetire) + if !f(fd_SellOrder_disable_auto_retire, value) { + return + } + } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_SellOrder_expiration, value) { + return + } + } + if x.Maker != false { + value := protoreflect.ValueOfBool(x.Maker) + if !f(fd_SellOrder_maker, 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_SellOrder) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + return x.OrderId != uint64(0) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + return x.Owner != "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + return x.Quantity != "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + return x.AskPrice != nil + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + return x.DisableAutoRetire != false + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + return x.Expiration != nil + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + return x.Maker != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + x.OrderId = uint64(0) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + x.Owner = "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + x.Quantity = "" + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + x.AskPrice = nil + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + x.DisableAutoRetire = false + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + x.Expiration = nil + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + x.Maker = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + value := x.OrderId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + value := x.Owner + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + value := x.Quantity + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + value := x.AskPrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + value := x.DisableAutoRetire + return protoreflect.ValueOfBool(value) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + value := x.Maker + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + x.OrderId = value.Uint() + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + x.Owner = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + x.Quantity = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + x.AskPrice = value.Message().Interface().(*v1beta1.Coin) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + x.Maker = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + if x.AskPrice == nil { + x.AskPrice = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.AskPrice.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + panic(fmt.Errorf("field order_id of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + panic(fmt.Errorf("field owner of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + panic(fmt.Errorf("field quantity of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + panic(fmt.Errorf("field disable_auto_retire of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + panic(fmt.Errorf("field maker of message regen.ecocredit.marketplace.v1beta1.SellOrder is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.SellOrder.order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.owner": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.SellOrder.batch_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.SellOrder.quantity": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.disable_auto_retire": + return protoreflect.ValueOfBool(false) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.SellOrder.maker": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.SellOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.SellOrder 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_SellOrder) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.SellOrder", 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_SellOrder) 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_SellOrder) 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_SellOrder) 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_SellOrder) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*SellOrder) + 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.OrderId != 0 { + n += 1 + runtime.Sov(uint64(x.OrderId)) + } + l = len(x.Owner) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.BatchDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Quantity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.AskPrice != nil { + l = options.Size(x.AskPrice) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.DisableAutoRetire { + n += 2 + } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Maker { + n += 2 + } + 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().(*SellOrder) + 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.Maker { + i-- + if x.Maker { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x40 + } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x3a + } + if x.DisableAutoRetire { + i-- + if x.DisableAutoRetire { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if x.AskPrice != nil { + encoded, err := options.Marshal(x.AskPrice) + 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] = 0x2a + } + if len(x.Quantity) > 0 { + i -= len(x.Quantity) + copy(dAtA[i:], x.Quantity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Quantity))) + i-- + dAtA[i] = 0x22 + } + if len(x.BatchDenom) > 0 { + i -= len(x.BatchDenom) + copy(dAtA[i:], x.BatchDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + i-- + dAtA[i] = 0x1a + } + if len(x.Owner) > 0 { + i -= len(x.Owner) + copy(dAtA[i:], x.Owner) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Owner))) + i-- + dAtA[i] = 0x12 + } + if x.OrderId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.OrderId)) + i-- + dAtA[i] = 0x8 + } + 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().(*SellOrder) + 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: SellOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: SellOrder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OrderId", wireType) + } + x.OrderId = 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.OrderId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Owner", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Owner = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BatchDenom", 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.BatchDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Quantity", 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.Quantity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AskPrice", 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.AskPrice == nil { + x.AskPrice = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.AskPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DisableAutoRetire", wireType) + } + var v 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.DisableAutoRetire = bool(v != 0) + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Maker", wireType) + } + var v 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Maker = bool(v != 0) + 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_BuyOrder protoreflect.MessageDescriptor + fd_BuyOrder_buy_order_id protoreflect.FieldDescriptor + fd_BuyOrder_buyer protoreflect.FieldDescriptor + fd_BuyOrder_selection protoreflect.FieldDescriptor + fd_BuyOrder_quantity protoreflect.FieldDescriptor + fd_BuyOrder_bid_price protoreflect.FieldDescriptor + fd_BuyOrder_disable_auto_retire protoreflect.FieldDescriptor + fd_BuyOrder_disable_partial_fill protoreflect.FieldDescriptor + fd_BuyOrder_expiration protoreflect.FieldDescriptor + fd_BuyOrder_maker protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_init() + md_BuyOrder = File_regen_ecocredit_marketplace_v1beta1_state_proto.Messages().ByName("BuyOrder") + fd_BuyOrder_buy_order_id = md_BuyOrder.Fields().ByName("buy_order_id") + fd_BuyOrder_buyer = md_BuyOrder.Fields().ByName("buyer") + fd_BuyOrder_selection = md_BuyOrder.Fields().ByName("selection") + fd_BuyOrder_quantity = md_BuyOrder.Fields().ByName("quantity") + fd_BuyOrder_bid_price = md_BuyOrder.Fields().ByName("bid_price") + fd_BuyOrder_disable_auto_retire = md_BuyOrder.Fields().ByName("disable_auto_retire") + fd_BuyOrder_disable_partial_fill = md_BuyOrder.Fields().ByName("disable_partial_fill") + fd_BuyOrder_expiration = md_BuyOrder.Fields().ByName("expiration") + fd_BuyOrder_maker = md_BuyOrder.Fields().ByName("maker") +} + +var _ protoreflect.Message = (*fastReflection_BuyOrder)(nil) + +type fastReflection_BuyOrder BuyOrder + +func (x *BuyOrder) ProtoReflect() protoreflect.Message { + return (*fastReflection_BuyOrder)(x) +} + +func (x *BuyOrder) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[1] + 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_BuyOrder_messageType fastReflection_BuyOrder_messageType +var _ protoreflect.MessageType = fastReflection_BuyOrder_messageType{} + +type fastReflection_BuyOrder_messageType struct{} + +func (x fastReflection_BuyOrder_messageType) Zero() protoreflect.Message { + return (*fastReflection_BuyOrder)(nil) +} +func (x fastReflection_BuyOrder_messageType) New() protoreflect.Message { + return new(fastReflection_BuyOrder) +} +func (x fastReflection_BuyOrder_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrder +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BuyOrder) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrder +} + +// 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_BuyOrder) Type() protoreflect.MessageType { + return _fastReflection_BuyOrder_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BuyOrder) New() protoreflect.Message { + return new(fastReflection_BuyOrder) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BuyOrder) Interface() protoreflect.ProtoMessage { + return (*BuyOrder)(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_BuyOrder) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BuyOrderId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BuyOrderId) + if !f(fd_BuyOrder_buy_order_id, value) { + return + } + } + if x.Buyer != "" { + value := protoreflect.ValueOfString(x.Buyer) + if !f(fd_BuyOrder_buyer, value) { + return + } + } + if x.Selection != nil { + value := protoreflect.ValueOfMessage(x.Selection.ProtoReflect()) + if !f(fd_BuyOrder_selection, value) { + return + } + } + if x.Quantity != "" { + value := protoreflect.ValueOfString(x.Quantity) + if !f(fd_BuyOrder_quantity, value) { + return + } + } + if x.BidPrice != nil { + value := protoreflect.ValueOfMessage(x.BidPrice.ProtoReflect()) + if !f(fd_BuyOrder_bid_price, value) { + return + } + } + if x.DisableAutoRetire != false { + value := protoreflect.ValueOfBool(x.DisableAutoRetire) + if !f(fd_BuyOrder_disable_auto_retire, value) { + return + } + } + if x.DisablePartialFill != false { + value := protoreflect.ValueOfBool(x.DisablePartialFill) + if !f(fd_BuyOrder_disable_partial_fill, value) { + return + } + } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_BuyOrder_expiration, value) { + return + } + } + if x.Maker != false { + value := protoreflect.ValueOfBool(x.Maker) + if !f(fd_BuyOrder_maker, 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_BuyOrder) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + return x.BuyOrderId != uint64(0) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + return x.Buyer != "" + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + return x.Selection != nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + return x.Quantity != "" + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + return x.BidPrice != nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + return x.DisableAutoRetire != false + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + return x.DisablePartialFill != false + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + return x.Expiration != nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + return x.Maker != false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + x.BuyOrderId = uint64(0) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + x.Buyer = "" + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + x.Selection = nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + x.Quantity = "" + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + x.BidPrice = nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + x.DisableAutoRetire = false + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + x.DisablePartialFill = false + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + x.Expiration = nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + x.Maker = false + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + value := x.BuyOrderId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + value := x.Buyer + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + value := x.Selection + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + value := x.Quantity + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + value := x.BidPrice + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + value := x.DisableAutoRetire + return protoreflect.ValueOfBool(value) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + value := x.DisablePartialFill + return protoreflect.ValueOfBool(value) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + value := x.Maker + return protoreflect.ValueOfBool(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + x.BuyOrderId = value.Uint() + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + x.Buyer = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + x.Selection = value.Message().Interface().(*BuyOrder_Selection) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + x.Quantity = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + x.BidPrice = value.Message().Interface().(*v1beta1.Coin) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + x.DisablePartialFill = value.Bool() + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + x.Maker = value.Bool() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + if x.Selection == nil { + x.Selection = new(BuyOrder_Selection) + } + return protoreflect.ValueOfMessage(x.Selection.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + if x.BidPrice == nil { + x.BidPrice = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.BidPrice.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + panic(fmt.Errorf("field buy_order_id of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + panic(fmt.Errorf("field buyer of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + panic(fmt.Errorf("field quantity of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + panic(fmt.Errorf("field disable_auto_retire of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + panic(fmt.Errorf("field disable_partial_fill of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + panic(fmt.Errorf("field maker of message regen.ecocredit.marketplace.v1beta1.BuyOrder is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buy_order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.buyer": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.selection": + m := new(BuyOrder_Selection) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.quantity": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_auto_retire": + return protoreflect.ValueOfBool(false) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.disable_partial_fill": + return protoreflect.ValueOfBool(false) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.maker": + return protoreflect.ValueOfBool(false) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder 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_BuyOrder) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.BuyOrder", 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_BuyOrder) 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_BuyOrder) 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_BuyOrder) 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_BuyOrder) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BuyOrder) + 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.BuyOrderId != 0 { + n += 1 + runtime.Sov(uint64(x.BuyOrderId)) + } + l = len(x.Buyer) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Selection != nil { + l = options.Size(x.Selection) + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Quantity) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.BidPrice != nil { + l = options.Size(x.BidPrice) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.DisableAutoRetire { + n += 2 + } + if x.DisablePartialFill { + n += 2 + } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Maker { + n += 2 + } + 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().(*BuyOrder) + 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.Maker { + i-- + if x.Maker { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x48 + } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x42 + } + if x.DisablePartialFill { + i-- + if x.DisablePartialFill { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x38 + } + if x.DisableAutoRetire { + i-- + if x.DisableAutoRetire { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x30 + } + if x.BidPrice != nil { + encoded, err := options.Marshal(x.BidPrice) + 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] = 0x2a + } + if len(x.Quantity) > 0 { + i -= len(x.Quantity) + copy(dAtA[i:], x.Quantity) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Quantity))) + i-- + dAtA[i] = 0x22 + } + if x.Selection != nil { + encoded, err := options.Marshal(x.Selection) + 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.Buyer) > 0 { + i -= len(x.Buyer) + copy(dAtA[i:], x.Buyer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Buyer))) + i-- + dAtA[i] = 0x12 + } + if x.BuyOrderId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BuyOrderId)) + i-- + dAtA[i] = 0x8 + } + 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().(*BuyOrder) + 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: BuyOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BuyOrder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BuyOrderId", wireType) + } + x.BuyOrderId = 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.BuyOrderId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Buyer", 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.Buyer = 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 Selection", 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.Selection == nil { + x.Selection = &BuyOrder_Selection{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Selection); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Quantity", 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.Quantity = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BidPrice", 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.BidPrice == nil { + x.BidPrice = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.BidPrice); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DisableAutoRetire", wireType) + } + var v 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.DisableAutoRetire = bool(v != 0) + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field DisablePartialFill", wireType) + } + var v 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.DisablePartialFill = bool(v != 0) + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 9: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Maker", wireType) + } + var v 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++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Maker = bool(v != 0) + 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_BuyOrder_Selection protoreflect.MessageDescriptor + fd_BuyOrder_Selection_sell_order_id protoreflect.FieldDescriptor + fd_BuyOrder_Selection_filter protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_init() + md_BuyOrder_Selection = File_regen_ecocredit_marketplace_v1beta1_state_proto.Messages().ByName("BuyOrder").Messages().ByName("Selection") + fd_BuyOrder_Selection_sell_order_id = md_BuyOrder_Selection.Fields().ByName("sell_order_id") + fd_BuyOrder_Selection_filter = md_BuyOrder_Selection.Fields().ByName("filter") +} + +var _ protoreflect.Message = (*fastReflection_BuyOrder_Selection)(nil) + +type fastReflection_BuyOrder_Selection BuyOrder_Selection + +func (x *BuyOrder_Selection) ProtoReflect() protoreflect.Message { + return (*fastReflection_BuyOrder_Selection)(x) +} + +func (x *BuyOrder_Selection) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_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_BuyOrder_Selection_messageType fastReflection_BuyOrder_Selection_messageType +var _ protoreflect.MessageType = fastReflection_BuyOrder_Selection_messageType{} + +type fastReflection_BuyOrder_Selection_messageType struct{} + +func (x fastReflection_BuyOrder_Selection_messageType) Zero() protoreflect.Message { + return (*fastReflection_BuyOrder_Selection)(nil) +} +func (x fastReflection_BuyOrder_Selection_messageType) New() protoreflect.Message { + return new(fastReflection_BuyOrder_Selection) +} +func (x fastReflection_BuyOrder_Selection_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrder_Selection +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BuyOrder_Selection) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrder_Selection +} + +// 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_BuyOrder_Selection) Type() protoreflect.MessageType { + return _fastReflection_BuyOrder_Selection_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BuyOrder_Selection) New() protoreflect.Message { + return new(fastReflection_BuyOrder_Selection) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BuyOrder_Selection) Interface() protoreflect.ProtoMessage { + return (*BuyOrder_Selection)(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_BuyOrder_Selection) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Sum != nil { + switch o := x.Sum.(type) { + case *BuyOrder_Selection_SellOrderId: + v := o.SellOrderId + value := protoreflect.ValueOfUint64(v) + if !f(fd_BuyOrder_Selection_sell_order_id, value) { + return + } + case *BuyOrder_Selection_Filter: + v := o.Filter + value := protoreflect.ValueOfMessage(v.ProtoReflect()) + if !f(fd_BuyOrder_Selection_filter, 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_BuyOrder_Selection) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + if x.Sum == nil { + return false + } else if _, ok := x.Sum.(*BuyOrder_Selection_SellOrderId); ok { + return true + } else { + return false + } + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + if x.Sum == nil { + return false + } else if _, ok := x.Sum.(*BuyOrder_Selection_Filter); ok { + return true + } else { + return false + } + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + x.Sum = nil + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + x.Sum = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + if x.Sum == nil { + return protoreflect.ValueOfUint64(uint64(0)) + } else if v, ok := x.Sum.(*BuyOrder_Selection_SellOrderId); ok { + return protoreflect.ValueOfUint64(v.SellOrderId) + } else { + return protoreflect.ValueOfUint64(uint64(0)) + } + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + if x.Sum == nil { + return protoreflect.ValueOfMessage((*Filter)(nil).ProtoReflect()) + } else if v, ok := x.Sum.(*BuyOrder_Selection_Filter); ok { + return protoreflect.ValueOfMessage(v.Filter.ProtoReflect()) + } else { + return protoreflect.ValueOfMessage((*Filter)(nil).ProtoReflect()) + } + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + cv := value.Uint() + x.Sum = &BuyOrder_Selection_SellOrderId{SellOrderId: cv} + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + cv := value.Message().Interface().(*Filter) + x.Sum = &BuyOrder_Selection_Filter{Filter: cv} + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + if x.Sum == nil { + value := &Filter{} + oneofValue := &BuyOrder_Selection_Filter{Filter: value} + x.Sum = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + switch m := x.Sum.(type) { + case *BuyOrder_Selection_Filter: + return protoreflect.ValueOfMessage(m.Filter.ProtoReflect()) + default: + value := &Filter{} + oneofValue := &BuyOrder_Selection_Filter{Filter: value} + x.Sum = oneofValue + return protoreflect.ValueOfMessage(value.ProtoReflect()) + } + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + panic(fmt.Errorf("field sell_order_id of message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sell_order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter": + value := &Filter{} + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection 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_BuyOrder_Selection) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + case "regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.sum": + if x.Sum == nil { + return nil + } + switch x.Sum.(type) { + case *BuyOrder_Selection_SellOrderId: + return x.Descriptor().Fields().ByName("sell_order_id") + case *BuyOrder_Selection_Filter: + return x.Descriptor().Fields().ByName("filter") + } + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection", 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_BuyOrder_Selection) 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_BuyOrder_Selection) 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_BuyOrder_Selection) 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_BuyOrder_Selection) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BuyOrder_Selection) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + switch x := x.Sum.(type) { + case *BuyOrder_Selection_SellOrderId: + if x == nil { + break + } + n += 1 + runtime.Sov(uint64(x.SellOrderId)) + case *BuyOrder_Selection_Filter: + if x == nil { + break + } + l = options.Size(x.Filter) + 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().(*BuyOrder_Selection) + 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) + } + switch x := x.Sum.(type) { + case *BuyOrder_Selection_SellOrderId: + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOrderId)) + i-- + dAtA[i] = 0x8 + case *BuyOrder_Selection_Filter: + encoded, err := options.Marshal(x.Filter) + 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 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().(*BuyOrder_Selection) + 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: BuyOrder_Selection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BuyOrder_Selection: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOrderId", wireType) + } + var v 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++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Sum = &BuyOrder_Selection_SellOrderId{v} + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Filter", 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 + } + v := &Filter{} + if err := options.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + x.Sum = &BuyOrder_Selection_Filter{v} + 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_AllowedDenom protoreflect.MessageDescriptor + fd_AllowedDenom_bank_denom protoreflect.FieldDescriptor + fd_AllowedDenom_display_denom protoreflect.FieldDescriptor + fd_AllowedDenom_exponent protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_init() + md_AllowedDenom = File_regen_ecocredit_marketplace_v1beta1_state_proto.Messages().ByName("AllowedDenom") + fd_AllowedDenom_bank_denom = md_AllowedDenom.Fields().ByName("bank_denom") + fd_AllowedDenom_display_denom = md_AllowedDenom.Fields().ByName("display_denom") + fd_AllowedDenom_exponent = md_AllowedDenom.Fields().ByName("exponent") +} + +var _ protoreflect.Message = (*fastReflection_AllowedDenom)(nil) + +type fastReflection_AllowedDenom AllowedDenom + +func (x *AllowedDenom) ProtoReflect() protoreflect.Message { + return (*fastReflection_AllowedDenom)(x) +} + +func (x *AllowedDenom) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[2] + 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_AllowedDenom_messageType fastReflection_AllowedDenom_messageType +var _ protoreflect.MessageType = fastReflection_AllowedDenom_messageType{} + +type fastReflection_AllowedDenom_messageType struct{} + +func (x fastReflection_AllowedDenom_messageType) Zero() protoreflect.Message { + return (*fastReflection_AllowedDenom)(nil) +} +func (x fastReflection_AllowedDenom_messageType) New() protoreflect.Message { + return new(fastReflection_AllowedDenom) +} +func (x fastReflection_AllowedDenom_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_AllowedDenom +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_AllowedDenom) Descriptor() protoreflect.MessageDescriptor { + return md_AllowedDenom +} + +// 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_AllowedDenom) Type() protoreflect.MessageType { + return _fastReflection_AllowedDenom_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_AllowedDenom) New() protoreflect.Message { + return new(fastReflection_AllowedDenom) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_AllowedDenom) Interface() protoreflect.ProtoMessage { + return (*AllowedDenom)(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_AllowedDenom) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BankDenom != "" { + value := protoreflect.ValueOfString(x.BankDenom) + if !f(fd_AllowedDenom_bank_denom, value) { + return + } + } + if x.DisplayDenom != "" { + value := protoreflect.ValueOfString(x.DisplayDenom) + if !f(fd_AllowedDenom_display_denom, value) { + return + } + } + if x.Exponent != uint32(0) { + value := protoreflect.ValueOfUint32(x.Exponent) + if !f(fd_AllowedDenom_exponent, 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_AllowedDenom) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + return x.BankDenom != "" + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + return x.DisplayDenom != "" + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + return x.Exponent != uint32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + x.BankDenom = "" + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + x.DisplayDenom = "" + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + x.Exponent = uint32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + value := x.BankDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + value := x.DisplayDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + value := x.Exponent + return protoreflect.ValueOfUint32(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + x.BankDenom = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + x.DisplayDenom = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + x.Exponent = uint32(value.Uint()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + panic(fmt.Errorf("field bank_denom of message regen.ecocredit.marketplace.v1beta1.AllowedDenom is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + panic(fmt.Errorf("field display_denom of message regen.ecocredit.marketplace.v1beta1.AllowedDenom is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + panic(fmt.Errorf("field exponent of message regen.ecocredit.marketplace.v1beta1.AllowedDenom is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.bank_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.display_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.AllowedDenom.exponent": + return protoreflect.ValueOfUint32(uint32(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.AllowedDenom")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.AllowedDenom 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_AllowedDenom) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.AllowedDenom", 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_AllowedDenom) 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_AllowedDenom) 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_AllowedDenom) 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_AllowedDenom) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*AllowedDenom) + 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.BankDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.DisplayDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Exponent != 0 { + n += 1 + runtime.Sov(uint64(x.Exponent)) + } + 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().(*AllowedDenom) + 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.Exponent != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Exponent)) + i-- + dAtA[i] = 0x18 + } + if len(x.DisplayDenom) > 0 { + i -= len(x.DisplayDenom) + copy(dAtA[i:], x.DisplayDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.DisplayDenom))) + i-- + dAtA[i] = 0x12 + } + if len(x.BankDenom) > 0 { + i -= len(x.BankDenom) + copy(dAtA[i:], x.BankDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BankDenom))) + 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().(*AllowedDenom) + 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: AllowedDenom: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: AllowedDenom: 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 BankDenom", 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.BankDenom = 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 DisplayDenom", 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.DisplayDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Exponent", wireType) + } + x.Exponent = 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.Exponent |= 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, + } +} + +var ( + md_Market protoreflect.MessageDescriptor + fd_Market_id protoreflect.FieldDescriptor + fd_Market_credit_type protoreflect.FieldDescriptor + fd_Market_bank_denom protoreflect.FieldDescriptor + fd_Market_precision_modifier protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_init() + md_Market = File_regen_ecocredit_marketplace_v1beta1_state_proto.Messages().ByName("Market") + fd_Market_id = md_Market.Fields().ByName("id") + fd_Market_credit_type = md_Market.Fields().ByName("credit_type") + fd_Market_bank_denom = md_Market.Fields().ByName("bank_denom") + fd_Market_precision_modifier = md_Market.Fields().ByName("precision_modifier") +} + +var _ protoreflect.Message = (*fastReflection_Market)(nil) + +type fastReflection_Market Market + +func (x *Market) ProtoReflect() protoreflect.Message { + return (*fastReflection_Market)(x) +} + +func (x *Market) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_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_Market_messageType fastReflection_Market_messageType +var _ protoreflect.MessageType = fastReflection_Market_messageType{} + +type fastReflection_Market_messageType struct{} + +func (x fastReflection_Market_messageType) Zero() protoreflect.Message { + return (*fastReflection_Market)(nil) +} +func (x fastReflection_Market_messageType) New() protoreflect.Message { + return new(fastReflection_Market) +} +func (x fastReflection_Market_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Market +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Market) Descriptor() protoreflect.MessageDescriptor { + return md_Market +} + +// 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_Market) Type() protoreflect.MessageType { + return _fastReflection_Market_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Market) New() protoreflect.Message { + return new(fastReflection_Market) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Market) Interface() protoreflect.ProtoMessage { + return (*Market)(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_Market) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_Market_id, value) { + return + } + } + if x.CreditType != "" { + value := protoreflect.ValueOfString(x.CreditType) + if !f(fd_Market_credit_type, value) { + return + } + } + if x.BankDenom != "" { + value := protoreflect.ValueOfString(x.BankDenom) + if !f(fd_Market_bank_denom, value) { + return + } + } + if x.PrecisionModifier != uint32(0) { + value := protoreflect.ValueOfUint32(x.PrecisionModifier) + if !f(fd_Market_precision_modifier, 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_Market) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + return x.Id != uint64(0) + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + return x.CreditType != "" + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + return x.BankDenom != "" + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + return x.PrecisionModifier != uint32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + x.Id = uint64(0) + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + x.CreditType = "" + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + x.BankDenom = "" + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + x.PrecisionModifier = uint32(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + value := x.CreditType + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + value := x.BankDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + value := x.PrecisionModifier + return protoreflect.ValueOfUint32(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + x.Id = value.Uint() + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + x.CreditType = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + x.BankDenom = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + x.PrecisionModifier = uint32(value.Uint()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + panic(fmt.Errorf("field id of message regen.ecocredit.marketplace.v1beta1.Market is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + panic(fmt.Errorf("field credit_type of message regen.ecocredit.marketplace.v1beta1.Market is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + panic(fmt.Errorf("field bank_denom of message regen.ecocredit.marketplace.v1beta1.Market is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + panic(fmt.Errorf("field precision_modifier of message regen.ecocredit.marketplace.v1beta1.Market is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Market.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.marketplace.v1beta1.Market.credit_type": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.Market.bank_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.Market.precision_modifier": + return protoreflect.ValueOfUint32(uint32(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Market")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Market 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_Market) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.Market", 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_Market) 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_Market) 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_Market) 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_Market) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Market) + 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.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.CreditType) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.BankDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.PrecisionModifier != 0 { + n += 1 + runtime.Sov(uint64(x.PrecisionModifier)) + } + 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().(*Market) + 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.PrecisionModifier != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.PrecisionModifier)) + i-- + dAtA[i] = 0x20 + } + if len(x.BankDenom) > 0 { + i -= len(x.BankDenom) + copy(dAtA[i:], x.BankDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BankDenom))) + i-- + dAtA[i] = 0x1a + } + if len(x.CreditType) > 0 { + i -= len(x.CreditType) + copy(dAtA[i:], x.CreditType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditType))) + i-- + dAtA[i] = 0x12 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + 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().(*Market) + 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: Market: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Market: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 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.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreditType", 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.CreditType = 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 BankDenom", 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.BankDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field PrecisionModifier", wireType) + } + x.PrecisionModifier = 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.PrecisionModifier |= 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 +// protoc (unknown) +// source: regen/ecocredit/marketplace/v1beta1/state.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// SellOrder represents the information for a sell order. +type SellOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // order_id is the unique ID of sell order. + OrderId uint64 `protobuf:"varint,1,opt,name=order_id,json=orderId,proto3" json:"order_id,omitempty"` + // owner is the address of the owner of the credits being sold. + Owner string `protobuf:"bytes,2,opt,name=owner,proto3" json:"owner,omitempty"` + // batch_denom is the credit batch being sold. + BatchDenom string `protobuf:"bytes,3,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // quantity is the quantity of credits being sold. + Quantity string `protobuf:"bytes,4,opt,name=quantity,proto3" json:"quantity,omitempty"` + // ask_price is the price the seller is asking for each unit of the + // batch_denom. Each credit unit of the batch will be sold for at least the + // ask_price or more. + AskPrice *v1beta1.Coin `protobuf:"bytes,5,opt,name=ask_price,json=askPrice,proto3" json:"ask_price,omitempty"` + // disable_auto_retire disables auto-retirement of credits which allows a + // buyer to disable auto-retirement in their buy order enabling them to + // resell the credits to another buyer. + DisableAutoRetire bool `protobuf:"varint,6,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=expiration,proto3" json:"expiration,omitempty"` + // maker indicates that this is a maker order, meaning that when it hit + // the order book, there were no matching buy orders. + Maker bool `protobuf:"varint,8,opt,name=maker,proto3" json:"maker,omitempty"` +} + +func (x *SellOrder) Reset() { + *x = SellOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SellOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SellOrder) ProtoMessage() {} + +// Deprecated: Use SellOrder.ProtoReflect.Descriptor instead. +func (*SellOrder) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP(), []int{0} +} + +func (x *SellOrder) GetOrderId() uint64 { + if x != nil { + return x.OrderId + } + return 0 +} + +func (x *SellOrder) GetOwner() string { + if x != nil { + return x.Owner + } + return "" +} + +func (x *SellOrder) GetBatchDenom() string { + if x != nil { + return x.BatchDenom + } + return "" +} + +func (x *SellOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *SellOrder) GetAskPrice() *v1beta1.Coin { + if x != nil { + return x.AskPrice + } + return nil +} + +func (x *SellOrder) GetDisableAutoRetire() bool { + if x != nil { + return x.DisableAutoRetire + } + return false +} + +func (x *SellOrder) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + +func (x *SellOrder) GetMaker() bool { + if x != nil { + return x.Maker + } + return false +} + +// BuyOrder represents the information for a buy order. +type BuyOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // buy_order_id is the unique ID of buy order. + BuyOrderId uint64 `protobuf:"varint,1,opt,name=buy_order_id,json=buyOrderId,proto3" json:"buy_order_id,omitempty"` + // buyer is the address that created the buy order + Buyer string `protobuf:"bytes,2,opt,name=buyer,proto3" json:"buyer,omitempty"` + // selection is the buy order selection. + Selection *BuyOrder_Selection `protobuf:"bytes,3,opt,name=selection,proto3" json:"selection,omitempty"` + // quantity is the quantity of credits to buy. If the quantity of credits + // available is less than this amount the order will be partially filled + // unless disable_partial_fill is true. + Quantity string `protobuf:"bytes,4,opt,name=quantity,proto3" json:"quantity,omitempty"` + // bid price is the bid price for this buy order. A credit unit will be + // settled at a purchase price that is no more than the bid price. The + // buy order will fail if the buyer does not have enough funds available + // to complete the purchase. + BidPrice *v1beta1.Coin `protobuf:"bytes,5,opt,name=bid_price,json=bidPrice,proto3" json:"bid_price,omitempty"` + // disable_auto_retire allows auto-retirement to be disabled. If it is set to true + // the credits will not auto-retire and can be resold assuming that the + // corresponding sell order has auto-retirement disabled. If the sell order + // hasn't disabled auto-retirement and the buy order tries to disable it, + // that buy order will fail. + DisableAutoRetire bool `protobuf:"varint,6,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // disable_partial_fill disables the default behavior of partially filling + // buy orders if the requested quantity is not available. + DisablePartialFill bool `protobuf:"varint,7,opt,name=disable_partial_fill,json=disablePartialFill,proto3" json:"disable_partial_fill,omitempty"` + // expiration is the optional timestamp when the buy order expires. When the + // expiration time is reached, the buy order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=expiration,proto3" json:"expiration,omitempty"` + // maker indicates that this is a maker order, meaning that when it hit + // the order book, there were no matching sell orders. + Maker bool `protobuf:"varint,9,opt,name=maker,proto3" json:"maker,omitempty"` +} + +func (x *BuyOrder) Reset() { + *x = BuyOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuyOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuyOrder) ProtoMessage() {} + +// Deprecated: Use BuyOrder.ProtoReflect.Descriptor instead. +func (*BuyOrder) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP(), []int{1} +} + +func (x *BuyOrder) GetBuyOrderId() uint64 { + if x != nil { + return x.BuyOrderId + } + return 0 +} + +func (x *BuyOrder) GetBuyer() string { + if x != nil { + return x.Buyer + } + return "" +} + +func (x *BuyOrder) GetSelection() *BuyOrder_Selection { + if x != nil { + return x.Selection + } + return nil +} + +func (x *BuyOrder) GetQuantity() string { + if x != nil { + return x.Quantity + } + return "" +} + +func (x *BuyOrder) GetBidPrice() *v1beta1.Coin { + if x != nil { + return x.BidPrice + } + return nil +} + +func (x *BuyOrder) GetDisableAutoRetire() bool { + if x != nil { + return x.DisableAutoRetire + } + return false +} + +func (x *BuyOrder) GetDisablePartialFill() bool { + if x != nil { + return x.DisablePartialFill + } + return false +} + +func (x *BuyOrder) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + +func (x *BuyOrder) GetMaker() bool { + if x != nil { + return x.Maker + } + return false +} + +// AllowedDenom represents the information for an allowed ask/bid denom. +type AllowedDenom struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // denom is the bank denom to allow (ex. ibc/GLKHDSG423SGS) + BankDenom string `protobuf:"bytes,1,opt,name=bank_denom,json=bankDenom,proto3" json:"bank_denom,omitempty"` + // display_denom is the denom to display to the user and is informational. + // Because the denom is likely an IBC denom, this should be chosen by + // governance to represent the consensus trusted name of the denom. + DisplayDenom string `protobuf:"bytes,2,opt,name=display_denom,json=displayDenom,proto3" json:"display_denom,omitempty"` + // exponent is the exponent that relates the denom to the display_denom and is + // informational + Exponent uint32 `protobuf:"varint,3,opt,name=exponent,proto3" json:"exponent,omitempty"` +} + +func (x *AllowedDenom) Reset() { + *x = AllowedDenom{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AllowedDenom) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AllowedDenom) ProtoMessage() {} + +// Deprecated: Use AllowedDenom.ProtoReflect.Descriptor instead. +func (*AllowedDenom) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP(), []int{2} +} + +func (x *AllowedDenom) GetBankDenom() string { + if x != nil { + return x.BankDenom + } + return "" +} + +func (x *AllowedDenom) GetDisplayDenom() string { + if x != nil { + return x.DisplayDenom + } + return "" +} + +func (x *AllowedDenom) GetExponent() uint32 { + if x != nil { + return x.Exponent + } + return 0 +} + +// Market describes a distinctly processed market between a credit type and +// allowed bank denom. Each market has its own precision in the order book +// and is processed independently of other markets. Governance must enable +// markets one by one. Every additional enabled market potentially adds more +// processing overhead to the blockchain and potentially weakens liquidity in +// competing markets. For instance, enabling side by side USD/Carbon and +// EUR/Carbon markets may have the end result that each market individually has +// less liquidity and longer settlement times. Such decisions should be taken +// with care. +type Market struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the unique ID of the market. + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // credit_type is the abbreviation of the credit type. + CreditType string `protobuf:"bytes,2,opt,name=credit_type,json=creditType,proto3" json:"credit_type,omitempty"` + // bank_denom is an allowed bank denom. + BankDenom string `protobuf:"bytes,3,opt,name=bank_denom,json=bankDenom,proto3" json:"bank_denom,omitempty"` + // precision_modifier is an optional modifier used to convert arbitrary + // precision integer bank amounts to uint64 values used for sorting in the + // order book. Given an arbitrary precision integer x, its uint64 conversion + // will be x / 10^precision_modifier using round half away from zero + // rounding. + // + // uint64 values range from 0 to 1,8446,744,073,709,551,615. + // This allows for a full 18 digits of precision. In most real world cases, + // a precision modifier of 0 (meaning no conversion) is probably sufficient. + // + // Consider a USD stable coin with 6 decimal digits of precision. A credit + // would need to be worth over 1 trillion USD for a non-zero precision_modifier + // to be needed. + // + // precision_modifier is provided to accomodate cases where the bank denom + // has either a huge precision (such as 18 decimal digits on its own) or + // extreme hyper-inflationary scenarios. + // + // In cases where there is a non-zero precision_modifier, bids and asks + // which are rounded to the same number will be ordered equivalently and + // differentiated only by time priority. The precision integer amount in the + // order will still be used in settlement. + // + // In cases where an arbitrary precision integer overflows its conversion to + // uint64, the order fill fail and the market will eventually become stuck + // if prices are in this region. Governance should intervene at this + // point to change the precision_modifier to a reasonable value to re-enable + // the market. When precision_modifier changes, all active orders in the order + // book will be updated to reflect this. + PrecisionModifier uint32 `protobuf:"varint,4,opt,name=precision_modifier,json=precisionModifier,proto3" json:"precision_modifier,omitempty"` +} + +func (x *Market) Reset() { + *x = Market{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Market) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Market) ProtoMessage() {} + +// Deprecated: Use Market.ProtoReflect.Descriptor instead. +func (*Market) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP(), []int{3} +} + +func (x *Market) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *Market) GetCreditType() string { + if x != nil { + return x.CreditType + } + return "" +} + +func (x *Market) GetBankDenom() string { + if x != nil { + return x.BankDenom + } + return "" +} + +func (x *Market) GetPrecisionModifier() uint32 { + if x != nil { + return x.PrecisionModifier + } + return 0 +} + +// Selection defines a buy order selection. +type BuyOrder_Selection struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // sum defines the type of selection. + // + // Types that are assignable to Sum: + // *BuyOrder_Selection_SellOrderId + // *BuyOrder_Selection_Filter + Sum isBuyOrder_Selection_Sum `protobuf_oneof:"sum"` +} + +func (x *BuyOrder_Selection) Reset() { + *x = BuyOrder_Selection{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuyOrder_Selection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuyOrder_Selection) ProtoMessage() {} + +// Deprecated: Use BuyOrder_Selection.ProtoReflect.Descriptor instead. +func (*BuyOrder_Selection) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *BuyOrder_Selection) GetSum() isBuyOrder_Selection_Sum { + if x != nil { + return x.Sum + } + return nil +} + +func (x *BuyOrder_Selection) GetSellOrderId() uint64 { + if x, ok := x.GetSum().(*BuyOrder_Selection_SellOrderId); ok { + return x.SellOrderId + } + return 0 +} + +func (x *BuyOrder_Selection) GetFilter() *Filter { + if x, ok := x.GetSum().(*BuyOrder_Selection_Filter); ok { + return x.Filter + } + return nil +} + +type isBuyOrder_Selection_Sum interface { + isBuyOrder_Selection_Sum() +} + +type BuyOrder_Selection_SellOrderId struct { + // sell_order_id is the sell order ID against which the buyer is trying to buy. + // When sell_order_id is set, this is known as a direct buy order because it + // is placed directly against a specific sell order. + SellOrderId uint64 `protobuf:"varint,1,opt,name=sell_order_id,json=sellOrderId,proto3,oneof"` +} + +type BuyOrder_Selection_Filter struct { + // filter selects credits to buy based upon the specified filter criteria. + Filter *Filter `protobuf:"bytes,2,opt,name=filter,proto3,oneof"` +} + +func (*BuyOrder_Selection_SellOrderId) isBuyOrder_Selection_Sum() {} + +func (*BuyOrder_Selection_Filter) isBuyOrder_Selection_Sum() {} + +var File_regen_ecocredit_marketplace_v1beta1_state_proto protoreflect.FileDescriptor + +var file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x23, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x6d, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf5, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x3a, 0x40, 0xf2, + 0x9e, 0xd3, 0x8e, 0x03, 0x3a, 0x0a, 0x0a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x12, 0x0f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x10, 0x02, 0x12, 0x0e, 0x0a, + 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x03, 0x18, 0x01, 0x22, + 0xd7, 0x04, 0x0a, 0x08, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, + 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x75, 0x79, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x75, + 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, + 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, + 0x6c, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x08, 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, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x6d, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6d, 0x61, + 0x6b, 0x65, 0x72, 0x1a, 0x7f, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x05, 0x0a, + 0x03, 0x73, 0x75, 0x6d, 0x3a, 0x33, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x2d, 0x0a, 0x0e, 0x0a, 0x0c, + 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x09, 0x0a, 0x05, + 0x62, 0x75, 0x79, 0x65, 0x72, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x18, 0x02, 0x22, 0x9b, 0x01, 0x0a, 0x0c, 0x41, 0x6c, + 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, + 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x62, 0x61, 0x6e, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x3a, 0x2b, 0xf2, 0x9e, 0xd3, 0x8e, + 0x03, 0x25, 0x0a, 0x0c, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x12, 0x13, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x10, 0x01, 0x18, 0x01, 0x18, 0x03, 0x22, 0xb5, 0x01, 0x0a, 0x06, 0x4d, 0x61, 0x72, 0x6b, + 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x44, 0x65, 0x6e, + 0x6f, 0x6d, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, + 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x3a, 0x2c, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x26, 0x0a, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x62, + 0x61, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x10, 0x01, 0x18, 0x01, 0x18, 0x04, 0x42, + 0xc6, 0x02, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, + 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, + 0x4d, 0xaa, 0x02, 0x23, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x23, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, + 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2f, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, + 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x26, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x3a, 0x3a, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescOnce sync.Once + file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescData = file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDesc +) + +func file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescGZIP() []byte { + file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescOnce.Do(func() { + file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescData) + }) + return file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDescData +} + +var file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_regen_ecocredit_marketplace_v1beta1_state_proto_goTypes = []interface{}{ + (*SellOrder)(nil), // 0: regen.ecocredit.marketplace.v1beta1.SellOrder + (*BuyOrder)(nil), // 1: regen.ecocredit.marketplace.v1beta1.BuyOrder + (*AllowedDenom)(nil), // 2: regen.ecocredit.marketplace.v1beta1.AllowedDenom + (*Market)(nil), // 3: regen.ecocredit.marketplace.v1beta1.Market + (*BuyOrder_Selection)(nil), // 4: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection + (*v1beta1.Coin)(nil), // 5: cosmos.base.v1beta1.Coin + (*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp + (*Filter)(nil), // 7: regen.ecocredit.marketplace.v1beta1.Filter +} +var file_regen_ecocredit_marketplace_v1beta1_state_proto_depIdxs = []int32{ + 5, // 0: regen.ecocredit.marketplace.v1beta1.SellOrder.ask_price:type_name -> cosmos.base.v1beta1.Coin + 6, // 1: regen.ecocredit.marketplace.v1beta1.SellOrder.expiration:type_name -> google.protobuf.Timestamp + 4, // 2: regen.ecocredit.marketplace.v1beta1.BuyOrder.selection:type_name -> regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection + 5, // 3: regen.ecocredit.marketplace.v1beta1.BuyOrder.bid_price:type_name -> cosmos.base.v1beta1.Coin + 6, // 4: regen.ecocredit.marketplace.v1beta1.BuyOrder.expiration:type_name -> google.protobuf.Timestamp + 7, // 5: regen.ecocredit.marketplace.v1beta1.BuyOrder.Selection.filter:type_name -> regen.ecocredit.marketplace.v1beta1.Filter + 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 +} + +func init() { file_regen_ecocredit_marketplace_v1beta1_state_proto_init() } +func file_regen_ecocredit_marketplace_v1beta1_state_proto_init() { + if File_regen_ecocredit_marketplace_v1beta1_state_proto != nil { + return + } + file_regen_ecocredit_marketplace_v1beta1_types_proto_init() + if !protoimpl.UnsafeEnabled { + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SellOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuyOrder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AllowedDenom); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Market); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuyOrder_Selection); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*BuyOrder_Selection_SellOrderId)(nil), + (*BuyOrder_Selection_Filter)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_regen_ecocredit_marketplace_v1beta1_state_proto_goTypes, + DependencyIndexes: file_regen_ecocredit_marketplace_v1beta1_state_proto_depIdxs, + MessageInfos: file_regen_ecocredit_marketplace_v1beta1_state_proto_msgTypes, + }.Build() + File_regen_ecocredit_marketplace_v1beta1_state_proto = out.File + file_regen_ecocredit_marketplace_v1beta1_state_proto_rawDesc = nil + file_regen_ecocredit_marketplace_v1beta1_state_proto_goTypes = nil + file_regen_ecocredit_marketplace_v1beta1_state_proto_depIdxs = nil +} diff --git a/api/regen/ecocredit/marketplace/v1beta1/types.pulsar.go b/api/regen/ecocredit/marketplace/v1beta1/types.pulsar.go new file mode 100644 index 0000000000..27476f4423 --- /dev/null +++ b/api/regen/ecocredit/marketplace/v1beta1/types.pulsar.go @@ -0,0 +1,2133 @@ +package marketplacev1beta1 + +import ( + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + 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" + io "io" + reflect "reflect" + sync "sync" +) + +var _ protoreflect.List = (*_Filter_1_list)(nil) + +type _Filter_1_list struct { + list *[]*Filter_Criteria +} + +func (x *_Filter_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Filter_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Filter_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Filter_Criteria) + (*x.list)[i] = concreteValue +} + +func (x *_Filter_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Filter_Criteria) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Filter_1_list) AppendMutable() protoreflect.Value { + v := new(Filter_Criteria) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Filter_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Filter_1_list) NewElement() protoreflect.Value { + v := new(Filter_Criteria) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Filter_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Filter protoreflect.MessageDescriptor + fd_Filter_or protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_types_proto_init() + md_Filter = File_regen_ecocredit_marketplace_v1beta1_types_proto.Messages().ByName("Filter") + fd_Filter_or = md_Filter.Fields().ByName("or") +} + +var _ protoreflect.Message = (*fastReflection_Filter)(nil) + +type fastReflection_Filter Filter + +func (x *Filter) ProtoReflect() protoreflect.Message { + return (*fastReflection_Filter)(x) +} + +func (x *Filter) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[0] + 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_Filter_messageType fastReflection_Filter_messageType +var _ protoreflect.MessageType = fastReflection_Filter_messageType{} + +type fastReflection_Filter_messageType struct{} + +func (x fastReflection_Filter_messageType) Zero() protoreflect.Message { + return (*fastReflection_Filter)(nil) +} +func (x fastReflection_Filter_messageType) New() protoreflect.Message { + return new(fastReflection_Filter) +} +func (x fastReflection_Filter_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Filter +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Filter) Descriptor() protoreflect.MessageDescriptor { + return md_Filter +} + +// 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_Filter) Type() protoreflect.MessageType { + return _fastReflection_Filter_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Filter) New() protoreflect.Message { + return new(fastReflection_Filter) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Filter) Interface() protoreflect.ProtoMessage { + return (*Filter)(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_Filter) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Or) != 0 { + value := protoreflect.ValueOfList(&_Filter_1_list{list: &x.Or}) + if !f(fd_Filter_or, 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_Filter) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + return len(x.Or) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + x.Or = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + if len(x.Or) == 0 { + return protoreflect.ValueOfList(&_Filter_1_list{}) + } + listValue := &_Filter_1_list{list: &x.Or} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + lv := value.List() + clv := lv.(*_Filter_1_list) + x.Or = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + if x.Or == nil { + x.Or = []*Filter_Criteria{} + } + value := &_Filter_1_list{list: &x.Or} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.or": + list := []*Filter_Criteria{} + return protoreflect.ValueOfList(&_Filter_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter 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_Filter) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.Filter", 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_Filter) 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_Filter) 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_Filter) 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_Filter) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Filter) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Or) > 0 { + for _, e := range x.Or { + 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().(*Filter) + 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.Or) > 0 { + for iNdEx := len(x.Or) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Or[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] = 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().(*Filter) + 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: Filter: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Filter: 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 Or", 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.Or = append(x.Or, &Filter_Criteria{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Or[len(x.Or)-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 _ protoreflect.List = (*_Filter_Criteria_1_list)(nil) + +type _Filter_Criteria_1_list struct { + list *[]*Selector +} + +func (x *_Filter_Criteria_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_Filter_Criteria_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfMessage((*x.list)[i].ProtoReflect()) +} + +func (x *_Filter_Criteria_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Selector) + (*x.list)[i] = concreteValue +} + +func (x *_Filter_Criteria_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.Message() + concreteValue := valueUnwrapped.Interface().(*Selector) + *x.list = append(*x.list, concreteValue) +} + +func (x *_Filter_Criteria_1_list) AppendMutable() protoreflect.Value { + v := new(Selector) + *x.list = append(*x.list, v) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Filter_Criteria_1_list) Truncate(n int) { + for i := n; i < len(*x.list); i++ { + (*x.list)[i] = nil + } + *x.list = (*x.list)[:n] +} + +func (x *_Filter_Criteria_1_list) NewElement() protoreflect.Value { + v := new(Selector) + return protoreflect.ValueOfMessage(v.ProtoReflect()) +} + +func (x *_Filter_Criteria_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_Filter_Criteria protoreflect.MessageDescriptor + fd_Filter_Criteria_or protoreflect.FieldDescriptor + fd_Filter_Criteria_project_location protoreflect.FieldDescriptor + fd_Filter_Criteria_min_start_date protoreflect.FieldDescriptor + fd_Filter_Criteria_max_end_date protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_types_proto_init() + md_Filter_Criteria = File_regen_ecocredit_marketplace_v1beta1_types_proto.Messages().ByName("Filter").Messages().ByName("Criteria") + fd_Filter_Criteria_or = md_Filter_Criteria.Fields().ByName("or") + fd_Filter_Criteria_project_location = md_Filter_Criteria.Fields().ByName("project_location") + fd_Filter_Criteria_min_start_date = md_Filter_Criteria.Fields().ByName("min_start_date") + fd_Filter_Criteria_max_end_date = md_Filter_Criteria.Fields().ByName("max_end_date") +} + +var _ protoreflect.Message = (*fastReflection_Filter_Criteria)(nil) + +type fastReflection_Filter_Criteria Filter_Criteria + +func (x *Filter_Criteria) ProtoReflect() protoreflect.Message { + return (*fastReflection_Filter_Criteria)(x) +} + +func (x *Filter_Criteria) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[2] + 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_Filter_Criteria_messageType fastReflection_Filter_Criteria_messageType +var _ protoreflect.MessageType = fastReflection_Filter_Criteria_messageType{} + +type fastReflection_Filter_Criteria_messageType struct{} + +func (x fastReflection_Filter_Criteria_messageType) Zero() protoreflect.Message { + return (*fastReflection_Filter_Criteria)(nil) +} +func (x fastReflection_Filter_Criteria_messageType) New() protoreflect.Message { + return new(fastReflection_Filter_Criteria) +} +func (x fastReflection_Filter_Criteria_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Filter_Criteria +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Filter_Criteria) Descriptor() protoreflect.MessageDescriptor { + return md_Filter_Criteria +} + +// 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_Filter_Criteria) Type() protoreflect.MessageType { + return _fastReflection_Filter_Criteria_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Filter_Criteria) New() protoreflect.Message { + return new(fastReflection_Filter_Criteria) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Filter_Criteria) Interface() protoreflect.ProtoMessage { + return (*Filter_Criteria)(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_Filter_Criteria) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Or) != 0 { + value := protoreflect.ValueOfList(&_Filter_Criteria_1_list{list: &x.Or}) + if !f(fd_Filter_Criteria_or, value) { + return + } + } + if x.ProjectLocation != "" { + value := protoreflect.ValueOfString(x.ProjectLocation) + if !f(fd_Filter_Criteria_project_location, value) { + return + } + } + if x.MinStartDate != nil { + value := protoreflect.ValueOfMessage(x.MinStartDate.ProtoReflect()) + if !f(fd_Filter_Criteria_min_start_date, value) { + return + } + } + if x.MaxEndDate != nil { + value := protoreflect.ValueOfMessage(x.MaxEndDate.ProtoReflect()) + if !f(fd_Filter_Criteria_max_end_date, 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_Filter_Criteria) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + return len(x.Or) != 0 + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + return x.ProjectLocation != "" + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + return x.MinStartDate != nil + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + return x.MaxEndDate != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + x.Or = nil + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + x.ProjectLocation = "" + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + x.MinStartDate = nil + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + x.MaxEndDate = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + if len(x.Or) == 0 { + return protoreflect.ValueOfList(&_Filter_Criteria_1_list{}) + } + listValue := &_Filter_Criteria_1_list{list: &x.Or} + return protoreflect.ValueOfList(listValue) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + value := x.ProjectLocation + return protoreflect.ValueOfString(value) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + value := x.MinStartDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + value := x.MaxEndDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + lv := value.List() + clv := lv.(*_Filter_Criteria_1_list) + x.Or = *clv.list + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + x.ProjectLocation = value.Interface().(string) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + x.MinStartDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + x.MaxEndDate = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + if x.Or == nil { + x.Or = []*Selector{} + } + value := &_Filter_Criteria_1_list{list: &x.Or} + return protoreflect.ValueOfList(value) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + if x.MinStartDate == nil { + x.MinStartDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.MinStartDate.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + if x.MaxEndDate == nil { + x.MaxEndDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.MaxEndDate.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + panic(fmt.Errorf("field project_location of message regen.ecocredit.marketplace.v1beta1.Filter.Criteria is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or": + list := []*Selector{} + return protoreflect.ValueOfList(&_Filter_Criteria_1_list{list: &list}) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.project_location": + return protoreflect.ValueOfString("") + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Filter.Criteria")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Filter.Criteria 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_Filter_Criteria) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.Filter.Criteria", 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_Filter_Criteria) 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_Filter_Criteria) 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_Filter_Criteria) 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_Filter_Criteria) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Filter_Criteria) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Or) > 0 { + for _, e := range x.Or { + l = options.Size(e) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + l = len(x.ProjectLocation) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MinStartDate != nil { + l = options.Size(x.MinStartDate) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MaxEndDate != nil { + l = options.Size(x.MaxEndDate) + 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().(*Filter_Criteria) + 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.MaxEndDate != nil { + encoded, err := options.Marshal(x.MaxEndDate) + 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] = 0x22 + } + if x.MinStartDate != nil { + encoded, err := options.Marshal(x.MinStartDate) + 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.ProjectLocation) > 0 { + i -= len(x.ProjectLocation) + copy(dAtA[i:], x.ProjectLocation) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectLocation))) + i-- + dAtA[i] = 0x12 + } + if len(x.Or) > 0 { + for iNdEx := len(x.Or) - 1; iNdEx >= 0; iNdEx-- { + encoded, err := options.Marshal(x.Or[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] = 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().(*Filter_Criteria) + 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: Filter_Criteria: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Filter_Criteria: 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 Or", 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.Or = append(x.Or, &Selector{}) + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Or[len(x.Or)-1]); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectLocation", 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.ProjectLocation = 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 MinStartDate", 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.MinStartDate == nil { + x.MinStartDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.MinStartDate); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxEndDate", 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.MaxEndDate == nil { + x.MaxEndDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.MaxEndDate); 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_Selector protoreflect.MessageDescriptor + fd_Selector_selector_type protoreflect.FieldDescriptor + fd_Selector_uint64_value protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_marketplace_v1beta1_types_proto_init() + md_Selector = File_regen_ecocredit_marketplace_v1beta1_types_proto.Messages().ByName("Selector") + fd_Selector_selector_type = md_Selector.Fields().ByName("selector_type") + fd_Selector_uint64_value = md_Selector.Fields().ByName("uint64_value") +} + +var _ protoreflect.Message = (*fastReflection_Selector)(nil) + +type fastReflection_Selector Selector + +func (x *Selector) ProtoReflect() protoreflect.Message { + return (*fastReflection_Selector)(x) +} + +func (x *Selector) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[1] + 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_Selector_messageType fastReflection_Selector_messageType +var _ protoreflect.MessageType = fastReflection_Selector_messageType{} + +type fastReflection_Selector_messageType struct{} + +func (x fastReflection_Selector_messageType) Zero() protoreflect.Message { + return (*fastReflection_Selector)(nil) +} +func (x fastReflection_Selector_messageType) New() protoreflect.Message { + return new(fastReflection_Selector) +} +func (x fastReflection_Selector_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_Selector +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_Selector) Descriptor() protoreflect.MessageDescriptor { + return md_Selector +} + +// 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_Selector) Type() protoreflect.MessageType { + return _fastReflection_Selector_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_Selector) New() protoreflect.Message { + return new(fastReflection_Selector) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_Selector) Interface() protoreflect.ProtoMessage { + return (*Selector)(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_Selector) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.SelectorType != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.SelectorType)) + if !f(fd_Selector_selector_type, value) { + return + } + } + if x.Value != nil { + switch o := x.Value.(type) { + case *Selector_Uint64Value: + v := o.Uint64Value + value := protoreflect.ValueOfUint64(v) + if !f(fd_Selector_uint64_value, 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_Selector) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + return x.SelectorType != 0 + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + if x.Value == nil { + return false + } else if _, ok := x.Value.(*Selector_Uint64Value); ok { + return true + } else { + return false + } + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + x.SelectorType = 0 + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + x.Value = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + value := x.SelectorType + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + if x.Value == nil { + return protoreflect.ValueOfUint64(uint64(0)) + } else if v, ok := x.Value.(*Selector_Uint64Value); ok { + return protoreflect.ValueOfUint64(v.Uint64Value) + } else { + return protoreflect.ValueOfUint64(uint64(0)) + } + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + x.SelectorType = (SelectorType)(value.Enum()) + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + cv := value.Uint() + x.Value = &Selector_Uint64Value{Uint64Value: cv} + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + panic(fmt.Errorf("field selector_type of message regen.ecocredit.marketplace.v1beta1.Selector is not mutable")) + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + panic(fmt.Errorf("field uint64_value of message regen.ecocredit.marketplace.v1beta1.Selector is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.selector_type": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.marketplace.v1beta1.Selector.uint64_value": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.marketplace.v1beta1.Selector")) + } + panic(fmt.Errorf("message regen.ecocredit.marketplace.v1beta1.Selector 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_Selector) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + case "regen.ecocredit.marketplace.v1beta1.Selector.value": + if x.Value == nil { + return nil + } + switch x.Value.(type) { + case *Selector_Uint64Value: + return x.Descriptor().Fields().ByName("uint64_value") + } + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.marketplace.v1beta1.Selector", 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_Selector) 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_Selector) 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_Selector) 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_Selector) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*Selector) + 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.SelectorType != 0 { + n += 1 + runtime.Sov(uint64(x.SelectorType)) + } + switch x := x.Value.(type) { + case *Selector_Uint64Value: + if x == nil { + break + } + n += 1 + runtime.Sov(uint64(x.Uint64Value)) + } + 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().(*Selector) + 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) + } + switch x := x.Value.(type) { + case *Selector_Uint64Value: + i = runtime.EncodeVarint(dAtA, i, uint64(x.Uint64Value)) + i-- + dAtA[i] = 0x10 + } + if x.SelectorType != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SelectorType)) + i-- + dAtA[i] = 0x8 + } + 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().(*Selector) + 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: Selector: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: Selector: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SelectorType", wireType) + } + x.SelectorType = 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.SelectorType |= SelectorType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Uint64Value", wireType) + } + var v 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++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + x.Value = &Selector_Uint64Value{v} + 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 +// protoc (unknown) +// source: regen/ecocredit/marketplace/v1beta1/types.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// SelectorType specifies a selector type. Valid selector types are all +// attributes which are assigned to credit batches by some authority such +// as the credit issuer or a curator. Requiring some authority-based selector +// ensures that buy orders cannot just match some randomly issued credit +// based on location and dates. +type SelectorType int32 + +const ( + // SELECTOR_TYPE_UNSPECIFIED is the SelectorType zero value. + SelectorType_SELECTOR_TYPE_UNSPECIFIED SelectorType = 0 + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 credit class ID. + SelectorType_SELECTOR_TYPE_CLASS SelectorType = 1 + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 project ID. + SelectorType_SELECTOR_TYPE_PROJECT SelectorType = 2 + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 credit batch ID. + SelectorType_SELECTOR_TYPE_BATCH SelectorType = 3 +) + +// Enum value maps for SelectorType. +var ( + SelectorType_name = map[int32]string{ + 0: "SELECTOR_TYPE_UNSPECIFIED", + 1: "SELECTOR_TYPE_CLASS", + 2: "SELECTOR_TYPE_PROJECT", + 3: "SELECTOR_TYPE_BATCH", + } + SelectorType_value = map[string]int32{ + "SELECTOR_TYPE_UNSPECIFIED": 0, + "SELECTOR_TYPE_CLASS": 1, + "SELECTOR_TYPE_PROJECT": 2, + "SELECTOR_TYPE_BATCH": 3, + } +) + +func (x SelectorType) Enum() *SelectorType { + p := new(SelectorType) + *p = x + return p +} + +func (x SelectorType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SelectorType) Descriptor() protoreflect.EnumDescriptor { + return file_regen_ecocredit_marketplace_v1beta1_types_proto_enumTypes[0].Descriptor() +} + +func (SelectorType) Type() protoreflect.EnumType { + return &file_regen_ecocredit_marketplace_v1beta1_types_proto_enumTypes[0] +} + +func (x SelectorType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SelectorType.Descriptor instead. +func (SelectorType) EnumDescriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescGZIP(), []int{0} +} + +// Filter is used to create filtered buy orders which match credit batch +// sell orders based on selection criteria rather than matching individual +// sell orders +type Filter struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // or is a list of criteria for matching credit batches. A credit which + // matches this filter must match at least one of these criteria. + Or []*Filter_Criteria `protobuf:"bytes,1,rep,name=or,proto3" json:"or,omitempty"` +} + +func (x *Filter) Reset() { + *x = Filter{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filter) ProtoMessage() {} + +// Deprecated: Use Filter.ProtoReflect.Descriptor instead. +func (*Filter) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescGZIP(), []int{0} +} + +func (x *Filter) GetOr() []*Filter_Criteria { + if x != nil { + return x.Or + } + return nil +} + +// Selector is the primary authority-based component of filter criteria. +type Selector struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // type is the selector type + SelectorType SelectorType `protobuf:"varint,1,opt,name=selector_type,json=selectorType,proto3,enum=regen.ecocredit.marketplace.v1beta1.SelectorType" json:"selector_type,omitempty"` + // value is the oneof for selector values and varies depending on type. + // + // Types that are assignable to Value: + // *Selector_Uint64Value + Value isSelector_Value `protobuf_oneof:"value"` +} + +func (x *Selector) Reset() { + *x = Selector{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Selector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Selector) ProtoMessage() {} + +// Deprecated: Use Selector.ProtoReflect.Descriptor instead. +func (*Selector) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescGZIP(), []int{1} +} + +func (x *Selector) GetSelectorType() SelectorType { + if x != nil { + return x.SelectorType + } + return SelectorType_SELECTOR_TYPE_UNSPECIFIED +} + +func (x *Selector) GetValue() isSelector_Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *Selector) GetUint64Value() uint64 { + if x, ok := x.GetValue().(*Selector_Uint64Value); ok { + return x.Uint64Value + } + return 0 +} + +type isSelector_Value interface { + isSelector_Value() +} + +type Selector_Uint64Value struct { + // uint64_value is specified for selector types with an uint64 value. + Uint64Value uint64 `protobuf:"varint,2,opt,name=uint64_value,json=uint64Value,proto3,oneof"` +} + +func (*Selector_Uint64Value) isSelector_Value() {} + +// Criteria is a simple filter criteria for matching a credit batch. +type Filter_Criteria struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // or specifies the primary selector criteria. Every criteria + // must specify at least one selector and matching credit batches must + // match at least one selector. + Or []*Selector `protobuf:"bytes,1,rep,name=or,proto3" json:"or,omitempty"` + // project_location can be specified in three levels of granularity: + // country, sub-national-code, or postal code. If just country is given, + // for instance "US" then any credits in the "US" will be matched even + // their project location is more specific, ex. "US-NY 12345". If + // a country, sub-national-code and postal code are all provided then + // only projects in that postal code will match. + ProjectLocation string `protobuf:"bytes,2,opt,name=project_location,json=projectLocation,proto3" json:"project_location,omitempty"` + // start_date is the beginning of the period during which a credit batch + // was quantified and verified. If it is empty then there is no start date + // limit. + MinStartDate *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=min_start_date,json=minStartDate,proto3" json:"min_start_date,omitempty"` + // max_end_date is the end of the period during which a credit batch was + // quantified and verified. If it is empty then there is no end date + // limit. + MaxEndDate *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=max_end_date,json=maxEndDate,proto3" json:"max_end_date,omitempty"` +} + +func (x *Filter_Criteria) Reset() { + *x = Filter_Criteria{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filter_Criteria) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filter_Criteria) ProtoMessage() {} + +// Deprecated: Use Filter_Criteria.ProtoReflect.Descriptor instead. +func (*Filter_Criteria) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Filter_Criteria) GetOr() []*Selector { + if x != nil { + return x.Or + } + return nil +} + +func (x *Filter_Criteria) GetProjectLocation() string { + if x != nil { + return x.ProjectLocation + } + return "" +} + +func (x *Filter_Criteria) GetMinStartDate() *timestamppb.Timestamp { + if x != nil { + return x.MinStartDate + } + return nil +} + +func (x *Filter_Criteria) GetMaxEndDate() *timestamppb.Timestamp { + if x != nil { + return x.MaxEndDate + } + return nil +} + +var File_regen_ecocredit_marketplace_v1beta1_types_proto protoreflect.FileDescriptor + +var file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDesc = []byte{ + 0x0a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x23, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x02, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x44, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x69, 0x74, + 0x65, 0x72, 0x69, 0x61, 0x52, 0x02, 0x6f, 0x72, 0x1a, 0xf4, 0x01, 0x0a, 0x08, 0x43, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x3d, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x02, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x40, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, + 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, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x04, 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, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, + 0x90, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x56, 0x0a, 0x0d, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2a, 0x7a, 0x0a, 0x0c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, + 0x4c, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x4f, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x41, 0x54, 0x43, 0x48, 0x10, 0x03, 0x42, 0xc6, + 0x02, 0x0a, 0x27, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x60, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x4d, + 0xaa, 0x02, 0x23, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x2e, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x23, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x2f, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x4d, + 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x26, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x3a, 0x3a, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescOnce sync.Once + file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescData = file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDesc +) + +func file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescGZIP() []byte { + file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescOnce.Do(func() { + file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescData) + }) + return file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDescData +} + +var file_regen_ecocredit_marketplace_v1beta1_types_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_regen_ecocredit_marketplace_v1beta1_types_proto_goTypes = []interface{}{ + (SelectorType)(0), // 0: regen.ecocredit.marketplace.v1beta1.SelectorType + (*Filter)(nil), // 1: regen.ecocredit.marketplace.v1beta1.Filter + (*Selector)(nil), // 2: regen.ecocredit.marketplace.v1beta1.Selector + (*Filter_Criteria)(nil), // 3: regen.ecocredit.marketplace.v1beta1.Filter.Criteria + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_regen_ecocredit_marketplace_v1beta1_types_proto_depIdxs = []int32{ + 3, // 0: regen.ecocredit.marketplace.v1beta1.Filter.or:type_name -> regen.ecocredit.marketplace.v1beta1.Filter.Criteria + 0, // 1: regen.ecocredit.marketplace.v1beta1.Selector.selector_type:type_name -> regen.ecocredit.marketplace.v1beta1.SelectorType + 2, // 2: regen.ecocredit.marketplace.v1beta1.Filter.Criteria.or:type_name -> regen.ecocredit.marketplace.v1beta1.Selector + 4, // 3: regen.ecocredit.marketplace.v1beta1.Filter.Criteria.min_start_date:type_name -> google.protobuf.Timestamp + 4, // 4: regen.ecocredit.marketplace.v1beta1.Filter.Criteria.max_end_date:type_name -> google.protobuf.Timestamp + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] 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_regen_ecocredit_marketplace_v1beta1_types_proto_init() } +func file_regen_ecocredit_marketplace_v1beta1_types_proto_init() { + if File_regen_ecocredit_marketplace_v1beta1_types_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filter); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Selector); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filter_Criteria); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Selector_Uint64Value)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDesc, + NumEnums: 1, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_regen_ecocredit_marketplace_v1beta1_types_proto_goTypes, + DependencyIndexes: file_regen_ecocredit_marketplace_v1beta1_types_proto_depIdxs, + EnumInfos: file_regen_ecocredit_marketplace_v1beta1_types_proto_enumTypes, + MessageInfos: file_regen_ecocredit_marketplace_v1beta1_types_proto_msgTypes, + }.Build() + File_regen_ecocredit_marketplace_v1beta1_types_proto = out.File + file_regen_ecocredit_marketplace_v1beta1_types_proto_rawDesc = nil + file_regen_ecocredit_marketplace_v1beta1_types_proto_goTypes = nil + file_regen_ecocredit_marketplace_v1beta1_types_proto_depIdxs = nil +} diff --git a/api/regen/ecocredit/orderbook/v1beta1/memory.cosmos_orm.go b/api/regen/ecocredit/orderbook/v1beta1/memory.cosmos_orm.go new file mode 100644 index 0000000000..58c47ef37c --- /dev/null +++ b/api/regen/ecocredit/orderbook/v1beta1/memory.cosmos_orm.go @@ -0,0 +1,339 @@ +// Code generated by protoc-gen-go-cosmos-orm. DO NOT EDIT. + +package orderbookv1beta1 + +import ( + context "context" + ormdb "github.com/cosmos/cosmos-sdk/orm/model/ormdb" + ormlist "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + ormtable "github.com/cosmos/cosmos-sdk/orm/model/ormtable" + ormerrors "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + v1beta1 "github.com/regen-ledger/regen-network/api/regen/ecocredit/marketplace/v1beta1" +) + +type BuyOrderSellOrderMatchStore interface { + Insert(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error + Update(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error + Save(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error + Delete(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error + Has(ctx context.Context, buy_order_id uint64, sell_order_id uint64) (found bool, err error) + Get(ctx context.Context, buy_order_id uint64, sell_order_id uint64) (*BuyOrderSellOrderMatch, error) + List(ctx context.Context, prefixKey BuyOrderSellOrderMatchIndexKey, opts ...ormlist.Option) (BuyOrderSellOrderMatchIterator, error) + ListRange(ctx context.Context, from, to BuyOrderSellOrderMatchIndexKey, opts ...ormlist.Option) (BuyOrderSellOrderMatchIterator, error) + + doNotImplement() +} + +type BuyOrderSellOrderMatchIterator struct { + ormtable.Iterator +} + +func (i BuyOrderSellOrderMatchIterator) Value() (*BuyOrderSellOrderMatch, error) { + var buyOrderSellOrderMatch BuyOrderSellOrderMatch + err := i.UnmarshalMessage(&buyOrderSellOrderMatch) + return &buyOrderSellOrderMatch, err +} + +type BuyOrderSellOrderMatchIndexKey interface { + id() uint32 + values() []interface{} + buyOrderSellOrderMatchIndexKey() +} + +// primary key starting index.. +type BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey struct { + vs []interface{} +} + +func (x BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey) id() uint32 { return 1 } +func (x BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey) values() []interface{} { return x.vs } +func (x BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey) buyOrderSellOrderMatchIndexKey() {} + +func (this BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey) WithBuyOrderId(buy_order_id uint64) BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey { + this.vs = []interface{}{buy_order_id} + return this +} + +func (this BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey) WithBuyOrderIdSellOrderId(buy_order_id uint64, sell_order_id uint64) BuyOrderSellOrderMatchBuyOrderIdSellOrderIdIndexKey { + this.vs = []interface{}{buy_order_id, sell_order_id} + return this +} + +type BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey struct { + vs []interface{} +} + +func (x BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) id() uint32 { + return 1 +} +func (x BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) values() []interface{} { + return x.vs +} +func (x BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) buyOrderSellOrderMatchIndexKey() { +} + +func (this BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) WithBidDenomId(bid_denom_id uint32) BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey { + this.vs = []interface{}{bid_denom_id} + return this +} + +func (this BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) WithBidDenomIdBidPriceComplement(bid_denom_id uint32, bid_price_complement uint64) BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey { + this.vs = []interface{}{bid_denom_id, bid_price_complement} + return this +} + +func (this BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) WithBidDenomIdBidPriceComplementBuyOrderId(bid_denom_id uint32, bid_price_complement uint64, buy_order_id uint64) BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey { + this.vs = []interface{}{bid_denom_id, bid_price_complement, buy_order_id} + return this +} + +func (this BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) WithBidDenomIdBidPriceComplementBuyOrderIdAskPrice(bid_denom_id uint32, bid_price_complement uint64, buy_order_id uint64, ask_price uint64) BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey { + this.vs = []interface{}{bid_denom_id, bid_price_complement, buy_order_id, ask_price} + return this +} + +func (this BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey) WithBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderId(bid_denom_id uint32, bid_price_complement uint64, buy_order_id uint64, ask_price uint64, sell_order_id uint64) BuyOrderSellOrderMatchBidDenomIdBidPriceComplementBuyOrderIdAskPriceSellOrderIdIndexKey { + this.vs = []interface{}{bid_denom_id, bid_price_complement, buy_order_id, ask_price, sell_order_id} + return this +} + +type BuyOrderSellOrderMatchSellOrderIdIndexKey struct { + vs []interface{} +} + +func (x BuyOrderSellOrderMatchSellOrderIdIndexKey) id() uint32 { return 2 } +func (x BuyOrderSellOrderMatchSellOrderIdIndexKey) values() []interface{} { return x.vs } +func (x BuyOrderSellOrderMatchSellOrderIdIndexKey) buyOrderSellOrderMatchIndexKey() {} + +func (this BuyOrderSellOrderMatchSellOrderIdIndexKey) WithSellOrderId(sell_order_id uint64) BuyOrderSellOrderMatchSellOrderIdIndexKey { + this.vs = []interface{}{sell_order_id} + return this +} + +type buyOrderSellOrderMatchStore struct { + table ormtable.Table +} + +func (this buyOrderSellOrderMatchStore) Insert(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error { + return this.table.Insert(ctx, buyOrderSellOrderMatch) +} + +func (this buyOrderSellOrderMatchStore) Update(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error { + return this.table.Update(ctx, buyOrderSellOrderMatch) +} + +func (this buyOrderSellOrderMatchStore) Save(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error { + return this.table.Save(ctx, buyOrderSellOrderMatch) +} + +func (this buyOrderSellOrderMatchStore) Delete(ctx context.Context, buyOrderSellOrderMatch *BuyOrderSellOrderMatch) error { + return this.table.Delete(ctx, buyOrderSellOrderMatch) +} + +func (this buyOrderSellOrderMatchStore) Has(ctx context.Context, buy_order_id uint64, sell_order_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, buy_order_id, sell_order_id) +} + +func (this buyOrderSellOrderMatchStore) Get(ctx context.Context, buy_order_id uint64, sell_order_id uint64) (*BuyOrderSellOrderMatch, error) { + var buyOrderSellOrderMatch BuyOrderSellOrderMatch + found, err := this.table.PrimaryKey().Get(ctx, &buyOrderSellOrderMatch, buy_order_id, sell_order_id) + if !found { + return nil, err + } + return &buyOrderSellOrderMatch, err +} + +func (this buyOrderSellOrderMatchStore) List(ctx context.Context, prefixKey BuyOrderSellOrderMatchIndexKey, opts ...ormlist.Option) (BuyOrderSellOrderMatchIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BuyOrderSellOrderMatchIterator{it}, err +} + +func (this buyOrderSellOrderMatchStore) ListRange(ctx context.Context, from, to BuyOrderSellOrderMatchIndexKey, opts ...ormlist.Option) (BuyOrderSellOrderMatchIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BuyOrderSellOrderMatchIterator{it}, err +} + +func (this buyOrderSellOrderMatchStore) doNotImplement() {} + +var _ BuyOrderSellOrderMatchStore = buyOrderSellOrderMatchStore{} + +func NewBuyOrderSellOrderMatchStore(db ormdb.ModuleDB) (BuyOrderSellOrderMatchStore, error) { + table := db.GetTable(&BuyOrderSellOrderMatch{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BuyOrderSellOrderMatch{}).ProtoReflect().Descriptor().FullName())) + } + return buyOrderSellOrderMatchStore{table}, nil +} + +type UInt64SelectorBuyOrderStore interface { + Insert(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error + Update(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error + Save(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error + Delete(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error + Has(ctx context.Context, buy_order_id uint64, selector_type v1beta1.SelectorType, value uint64) (found bool, err error) + Get(ctx context.Context, buy_order_id uint64, selector_type v1beta1.SelectorType, value uint64) (*UInt64SelectorBuyOrder, error) + List(ctx context.Context, prefixKey UInt64SelectorBuyOrderIndexKey, opts ...ormlist.Option) (UInt64SelectorBuyOrderIterator, error) + ListRange(ctx context.Context, from, to UInt64SelectorBuyOrderIndexKey, opts ...ormlist.Option) (UInt64SelectorBuyOrderIterator, error) + + doNotImplement() +} + +type UInt64SelectorBuyOrderIterator struct { + ormtable.Iterator +} + +func (i UInt64SelectorBuyOrderIterator) Value() (*UInt64SelectorBuyOrder, error) { + var uInt64SelectorBuyOrder UInt64SelectorBuyOrder + err := i.UnmarshalMessage(&uInt64SelectorBuyOrder) + return &uInt64SelectorBuyOrder, err +} + +type UInt64SelectorBuyOrderIndexKey interface { + id() uint32 + values() []interface{} + uInt64SelectorBuyOrderIndexKey() +} + +// primary key starting index.. +type UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey struct { + vs []interface{} +} + +func (x UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) id() uint32 { return 2 } +func (x UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) values() []interface{} { + return x.vs +} +func (x UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) uInt64SelectorBuyOrderIndexKey() {} + +func (this UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) WithBuyOrderId(buy_order_id uint64) UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey { + this.vs = []interface{}{buy_order_id} + return this +} + +func (this UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) WithBuyOrderIdSelectorType(buy_order_id uint64, selector_type v1beta1.SelectorType) UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey { + this.vs = []interface{}{buy_order_id, selector_type} + return this +} + +func (this UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey) WithBuyOrderIdSelectorTypeValue(buy_order_id uint64, selector_type v1beta1.SelectorType, value uint64) UInt64SelectorBuyOrderBuyOrderIdSelectorTypeValueIndexKey { + this.vs = []interface{}{buy_order_id, selector_type, value} + return this +} + +type UInt64SelectorBuyOrderSelectorTypeValueIndexKey struct { + vs []interface{} +} + +func (x UInt64SelectorBuyOrderSelectorTypeValueIndexKey) id() uint32 { return 1 } +func (x UInt64SelectorBuyOrderSelectorTypeValueIndexKey) values() []interface{} { return x.vs } +func (x UInt64SelectorBuyOrderSelectorTypeValueIndexKey) uInt64SelectorBuyOrderIndexKey() {} + +func (this UInt64SelectorBuyOrderSelectorTypeValueIndexKey) WithSelectorType(selector_type v1beta1.SelectorType) UInt64SelectorBuyOrderSelectorTypeValueIndexKey { + this.vs = []interface{}{selector_type} + return this +} + +func (this UInt64SelectorBuyOrderSelectorTypeValueIndexKey) WithSelectorTypeValue(selector_type v1beta1.SelectorType, value uint64) UInt64SelectorBuyOrderSelectorTypeValueIndexKey { + this.vs = []interface{}{selector_type, value} + return this +} + +type uInt64SelectorBuyOrderStore struct { + table ormtable.Table +} + +func (this uInt64SelectorBuyOrderStore) Insert(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error { + return this.table.Insert(ctx, uInt64SelectorBuyOrder) +} + +func (this uInt64SelectorBuyOrderStore) Update(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error { + return this.table.Update(ctx, uInt64SelectorBuyOrder) +} + +func (this uInt64SelectorBuyOrderStore) Save(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error { + return this.table.Save(ctx, uInt64SelectorBuyOrder) +} + +func (this uInt64SelectorBuyOrderStore) Delete(ctx context.Context, uInt64SelectorBuyOrder *UInt64SelectorBuyOrder) error { + return this.table.Delete(ctx, uInt64SelectorBuyOrder) +} + +func (this uInt64SelectorBuyOrderStore) Has(ctx context.Context, buy_order_id uint64, selector_type v1beta1.SelectorType, value uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, buy_order_id, selector_type, value) +} + +func (this uInt64SelectorBuyOrderStore) Get(ctx context.Context, buy_order_id uint64, selector_type v1beta1.SelectorType, value uint64) (*UInt64SelectorBuyOrder, error) { + var uInt64SelectorBuyOrder UInt64SelectorBuyOrder + found, err := this.table.PrimaryKey().Get(ctx, &uInt64SelectorBuyOrder, buy_order_id, selector_type, value) + if !found { + return nil, err + } + return &uInt64SelectorBuyOrder, err +} + +func (this uInt64SelectorBuyOrderStore) List(ctx context.Context, prefixKey UInt64SelectorBuyOrderIndexKey, opts ...ormlist.Option) (UInt64SelectorBuyOrderIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return UInt64SelectorBuyOrderIterator{it}, err +} + +func (this uInt64SelectorBuyOrderStore) ListRange(ctx context.Context, from, to UInt64SelectorBuyOrderIndexKey, opts ...ormlist.Option) (UInt64SelectorBuyOrderIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return UInt64SelectorBuyOrderIterator{it}, err +} + +func (this uInt64SelectorBuyOrderStore) doNotImplement() {} + +var _ UInt64SelectorBuyOrderStore = uInt64SelectorBuyOrderStore{} + +func NewUInt64SelectorBuyOrderStore(db ormdb.ModuleDB) (UInt64SelectorBuyOrderStore, error) { + table := db.GetTable(&UInt64SelectorBuyOrder{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&UInt64SelectorBuyOrder{}).ProtoReflect().Descriptor().FullName())) + } + return uInt64SelectorBuyOrderStore{table}, nil +} + +type MemoryStore interface { + BuyOrderSellOrderMatchStore() BuyOrderSellOrderMatchStore + UInt64SelectorBuyOrderStore() UInt64SelectorBuyOrderStore + + doNotImplement() +} + +type memoryStore struct { + buyOrderSellOrderMatch BuyOrderSellOrderMatchStore + uInt64SelectorBuyOrder UInt64SelectorBuyOrderStore +} + +func (x memoryStore) BuyOrderSellOrderMatchStore() BuyOrderSellOrderMatchStore { + return x.buyOrderSellOrderMatch +} + +func (x memoryStore) UInt64SelectorBuyOrderStore() UInt64SelectorBuyOrderStore { + return x.uInt64SelectorBuyOrder +} + +func (memoryStore) doNotImplement() {} + +var _ MemoryStore = memoryStore{} + +func NewMemoryStore(db ormdb.ModuleDB) (MemoryStore, error) { + buyOrderSellOrderMatchStore, err := NewBuyOrderSellOrderMatchStore(db) + if err != nil { + return nil, err + } + + uInt64SelectorBuyOrderStore, err := NewUInt64SelectorBuyOrderStore(db) + if err != nil { + return nil, err + } + + return memoryStore{ + buyOrderSellOrderMatchStore, + uInt64SelectorBuyOrderStore, + }, nil +} diff --git a/api/regen/ecocredit/orderbook/v1beta1/memory.pulsar.go b/api/regen/ecocredit/orderbook/v1beta1/memory.pulsar.go new file mode 100644 index 0000000000..e22f776975 --- /dev/null +++ b/api/regen/ecocredit/orderbook/v1beta1/memory.pulsar.go @@ -0,0 +1,1655 @@ +package orderbookv1beta1 + +import ( + binary "encoding/binary" + fmt "fmt" + runtime "github.com/cosmos/cosmos-proto/runtime" + _ "github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1" + v1beta1 "github.com/regen-ledger/regen-network/api/regen/ecocredit/marketplace/v1beta1" + 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" + io "io" + reflect "reflect" + sync "sync" +) + +var ( + md_BuyOrderSellOrderMatch protoreflect.MessageDescriptor + fd_BuyOrderSellOrderMatch_bid_denom_id protoreflect.FieldDescriptor + fd_BuyOrderSellOrderMatch_buy_order_id protoreflect.FieldDescriptor + fd_BuyOrderSellOrderMatch_sell_order_id protoreflect.FieldDescriptor + fd_BuyOrderSellOrderMatch_bid_price_complement protoreflect.FieldDescriptor + fd_BuyOrderSellOrderMatch_ask_price protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_orderbook_v1beta1_memory_proto_init() + md_BuyOrderSellOrderMatch = File_regen_ecocredit_orderbook_v1beta1_memory_proto.Messages().ByName("BuyOrderSellOrderMatch") + fd_BuyOrderSellOrderMatch_bid_denom_id = md_BuyOrderSellOrderMatch.Fields().ByName("bid_denom_id") + fd_BuyOrderSellOrderMatch_buy_order_id = md_BuyOrderSellOrderMatch.Fields().ByName("buy_order_id") + fd_BuyOrderSellOrderMatch_sell_order_id = md_BuyOrderSellOrderMatch.Fields().ByName("sell_order_id") + fd_BuyOrderSellOrderMatch_bid_price_complement = md_BuyOrderSellOrderMatch.Fields().ByName("bid_price_complement") + fd_BuyOrderSellOrderMatch_ask_price = md_BuyOrderSellOrderMatch.Fields().ByName("ask_price") +} + +var _ protoreflect.Message = (*fastReflection_BuyOrderSellOrderMatch)(nil) + +type fastReflection_BuyOrderSellOrderMatch BuyOrderSellOrderMatch + +func (x *BuyOrderSellOrderMatch) ProtoReflect() protoreflect.Message { + return (*fastReflection_BuyOrderSellOrderMatch)(x) +} + +func (x *BuyOrderSellOrderMatch) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[0] + 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_BuyOrderSellOrderMatch_messageType fastReflection_BuyOrderSellOrderMatch_messageType +var _ protoreflect.MessageType = fastReflection_BuyOrderSellOrderMatch_messageType{} + +type fastReflection_BuyOrderSellOrderMatch_messageType struct{} + +func (x fastReflection_BuyOrderSellOrderMatch_messageType) Zero() protoreflect.Message { + return (*fastReflection_BuyOrderSellOrderMatch)(nil) +} +func (x fastReflection_BuyOrderSellOrderMatch_messageType) New() protoreflect.Message { + return new(fastReflection_BuyOrderSellOrderMatch) +} +func (x fastReflection_BuyOrderSellOrderMatch_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrderSellOrderMatch +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BuyOrderSellOrderMatch) Descriptor() protoreflect.MessageDescriptor { + return md_BuyOrderSellOrderMatch +} + +// 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_BuyOrderSellOrderMatch) Type() protoreflect.MessageType { + return _fastReflection_BuyOrderSellOrderMatch_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BuyOrderSellOrderMatch) New() protoreflect.Message { + return new(fastReflection_BuyOrderSellOrderMatch) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BuyOrderSellOrderMatch) Interface() protoreflect.ProtoMessage { + return (*BuyOrderSellOrderMatch)(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_BuyOrderSellOrderMatch) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BidDenomId != uint32(0) { + value := protoreflect.ValueOfUint32(x.BidDenomId) + if !f(fd_BuyOrderSellOrderMatch_bid_denom_id, value) { + return + } + } + if x.BuyOrderId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BuyOrderId) + if !f(fd_BuyOrderSellOrderMatch_buy_order_id, value) { + return + } + } + if x.SellOrderId != uint64(0) { + value := protoreflect.ValueOfUint64(x.SellOrderId) + if !f(fd_BuyOrderSellOrderMatch_sell_order_id, value) { + return + } + } + if x.BidPriceComplement != uint64(0) { + value := protoreflect.ValueOfUint64(x.BidPriceComplement) + if !f(fd_BuyOrderSellOrderMatch_bid_price_complement, value) { + return + } + } + if x.AskPrice != uint64(0) { + value := protoreflect.ValueOfUint64(x.AskPrice) + if !f(fd_BuyOrderSellOrderMatch_ask_price, 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_BuyOrderSellOrderMatch) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + return x.BidDenomId != uint32(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + return x.BuyOrderId != uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + return x.SellOrderId != uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + return x.BidPriceComplement != uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + return x.AskPrice != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + x.BidDenomId = uint32(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + x.BuyOrderId = uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + x.SellOrderId = uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + x.BidPriceComplement = uint64(0) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + x.AskPrice = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + value := x.BidDenomId + return protoreflect.ValueOfUint32(value) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + value := x.BuyOrderId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + value := x.SellOrderId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + value := x.BidPriceComplement + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + value := x.AskPrice + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + x.BidDenomId = uint32(value.Uint()) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + x.BuyOrderId = value.Uint() + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + x.SellOrderId = value.Uint() + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + x.BidPriceComplement = value.Uint() + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + x.AskPrice = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + panic(fmt.Errorf("field bid_denom_id of message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + panic(fmt.Errorf("field buy_order_id of message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + panic(fmt.Errorf("field sell_order_id of message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + panic(fmt.Errorf("field bid_price_complement of message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + panic(fmt.Errorf("field ask_price of message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_denom_id": + return protoreflect.ValueOfUint32(uint32(0)) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.buy_order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.sell_order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.bid_price_complement": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch.ask_price": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch 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_BuyOrderSellOrderMatch) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch", 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_BuyOrderSellOrderMatch) 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_BuyOrderSellOrderMatch) 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_BuyOrderSellOrderMatch) 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_BuyOrderSellOrderMatch) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BuyOrderSellOrderMatch) + 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.BidDenomId != 0 { + n += 1 + runtime.Sov(uint64(x.BidDenomId)) + } + if x.BuyOrderId != 0 { + n += 1 + runtime.Sov(uint64(x.BuyOrderId)) + } + if x.SellOrderId != 0 { + n += 1 + runtime.Sov(uint64(x.SellOrderId)) + } + if x.BidPriceComplement != 0 { + n += 9 + } + if x.AskPrice != 0 { + n += 9 + } + 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().(*BuyOrderSellOrderMatch) + 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.AskPrice != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.AskPrice)) + i-- + dAtA[i] = 0x29 + } + if x.BidPriceComplement != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(x.BidPriceComplement)) + i-- + dAtA[i] = 0x21 + } + if x.SellOrderId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SellOrderId)) + i-- + dAtA[i] = 0x18 + } + if x.BuyOrderId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BuyOrderId)) + i-- + dAtA[i] = 0x10 + } + if x.BidDenomId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BidDenomId)) + i-- + dAtA[i] = 0x8 + } + 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().(*BuyOrderSellOrderMatch) + 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: BuyOrderSellOrderMatch: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BuyOrderSellOrderMatch: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BidDenomId", wireType) + } + x.BidDenomId = 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.BidDenomId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BuyOrderId", wireType) + } + x.BuyOrderId = 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.BuyOrderId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SellOrderId", wireType) + } + x.SellOrderId = 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.SellOrderId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 1 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BidPriceComplement", wireType) + } + x.BidPriceComplement = 0 + if (iNdEx + 8) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.BidPriceComplement = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + case 5: + if wireType != 1 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field AskPrice", wireType) + } + x.AskPrice = 0 + if (iNdEx + 8) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.AskPrice = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + 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_UInt64SelectorBuyOrder protoreflect.MessageDescriptor + fd_UInt64SelectorBuyOrder_buy_order_id protoreflect.FieldDescriptor + fd_UInt64SelectorBuyOrder_selector_type protoreflect.FieldDescriptor + fd_UInt64SelectorBuyOrder_value protoreflect.FieldDescriptor + fd_UInt64SelectorBuyOrder_project_location protoreflect.FieldDescriptor + fd_UInt64SelectorBuyOrder_min_start_date protoreflect.FieldDescriptor + fd_UInt64SelectorBuyOrder_max_end_date protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_orderbook_v1beta1_memory_proto_init() + md_UInt64SelectorBuyOrder = File_regen_ecocredit_orderbook_v1beta1_memory_proto.Messages().ByName("UInt64SelectorBuyOrder") + fd_UInt64SelectorBuyOrder_buy_order_id = md_UInt64SelectorBuyOrder.Fields().ByName("buy_order_id") + fd_UInt64SelectorBuyOrder_selector_type = md_UInt64SelectorBuyOrder.Fields().ByName("selector_type") + fd_UInt64SelectorBuyOrder_value = md_UInt64SelectorBuyOrder.Fields().ByName("value") + fd_UInt64SelectorBuyOrder_project_location = md_UInt64SelectorBuyOrder.Fields().ByName("project_location") + fd_UInt64SelectorBuyOrder_min_start_date = md_UInt64SelectorBuyOrder.Fields().ByName("min_start_date") + fd_UInt64SelectorBuyOrder_max_end_date = md_UInt64SelectorBuyOrder.Fields().ByName("max_end_date") +} + +var _ protoreflect.Message = (*fastReflection_UInt64SelectorBuyOrder)(nil) + +type fastReflection_UInt64SelectorBuyOrder UInt64SelectorBuyOrder + +func (x *UInt64SelectorBuyOrder) ProtoReflect() protoreflect.Message { + return (*fastReflection_UInt64SelectorBuyOrder)(x) +} + +func (x *UInt64SelectorBuyOrder) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[1] + 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_UInt64SelectorBuyOrder_messageType fastReflection_UInt64SelectorBuyOrder_messageType +var _ protoreflect.MessageType = fastReflection_UInt64SelectorBuyOrder_messageType{} + +type fastReflection_UInt64SelectorBuyOrder_messageType struct{} + +func (x fastReflection_UInt64SelectorBuyOrder_messageType) Zero() protoreflect.Message { + return (*fastReflection_UInt64SelectorBuyOrder)(nil) +} +func (x fastReflection_UInt64SelectorBuyOrder_messageType) New() protoreflect.Message { + return new(fastReflection_UInt64SelectorBuyOrder) +} +func (x fastReflection_UInt64SelectorBuyOrder_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_UInt64SelectorBuyOrder +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_UInt64SelectorBuyOrder) Descriptor() protoreflect.MessageDescriptor { + return md_UInt64SelectorBuyOrder +} + +// 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_UInt64SelectorBuyOrder) Type() protoreflect.MessageType { + return _fastReflection_UInt64SelectorBuyOrder_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_UInt64SelectorBuyOrder) New() protoreflect.Message { + return new(fastReflection_UInt64SelectorBuyOrder) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_UInt64SelectorBuyOrder) Interface() protoreflect.ProtoMessage { + return (*UInt64SelectorBuyOrder)(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_UInt64SelectorBuyOrder) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BuyOrderId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BuyOrderId) + if !f(fd_UInt64SelectorBuyOrder_buy_order_id, value) { + return + } + } + if x.SelectorType != 0 { + value := protoreflect.ValueOfEnum((protoreflect.EnumNumber)(x.SelectorType)) + if !f(fd_UInt64SelectorBuyOrder_selector_type, value) { + return + } + } + if x.Value != uint64(0) { + value := protoreflect.ValueOfUint64(x.Value) + if !f(fd_UInt64SelectorBuyOrder_value, value) { + return + } + } + if x.ProjectLocation != "" { + value := protoreflect.ValueOfString(x.ProjectLocation) + if !f(fd_UInt64SelectorBuyOrder_project_location, value) { + return + } + } + if x.MinStartDate != nil { + value := protoreflect.ValueOfMessage(x.MinStartDate.ProtoReflect()) + if !f(fd_UInt64SelectorBuyOrder_min_start_date, value) { + return + } + } + if x.MaxEndDate != nil { + value := protoreflect.ValueOfMessage(x.MaxEndDate.ProtoReflect()) + if !f(fd_UInt64SelectorBuyOrder_max_end_date, 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_UInt64SelectorBuyOrder) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + return x.BuyOrderId != uint64(0) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + return x.SelectorType != 0 + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + return x.Value != uint64(0) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + return x.ProjectLocation != "" + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + return x.MinStartDate != nil + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + return x.MaxEndDate != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + x.BuyOrderId = uint64(0) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + x.SelectorType = 0 + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + x.Value = uint64(0) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + x.ProjectLocation = "" + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + x.MinStartDate = nil + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + x.MaxEndDate = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + value := x.BuyOrderId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + value := x.SelectorType + return protoreflect.ValueOfEnum((protoreflect.EnumNumber)(value)) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + value := x.Value + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + value := x.ProjectLocation + return protoreflect.ValueOfString(value) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + value := x.MinStartDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + value := x.MaxEndDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + x.BuyOrderId = value.Uint() + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + x.SelectorType = (v1beta1.SelectorType)(value.Enum()) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + x.Value = value.Uint() + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + x.ProjectLocation = value.Interface().(string) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + x.MinStartDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + x.MaxEndDate = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + if x.MinStartDate == nil { + x.MinStartDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.MinStartDate.ProtoReflect()) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + if x.MaxEndDate == nil { + x.MaxEndDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.MaxEndDate.ProtoReflect()) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + panic(fmt.Errorf("field buy_order_id of message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + panic(fmt.Errorf("field selector_type of message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + panic(fmt.Errorf("field value of message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder is not mutable")) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + panic(fmt.Errorf("field project_location of message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.buy_order_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type": + return protoreflect.ValueOfEnum(0) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.value": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.project_location": + return protoreflect.ValueOfString("") + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder")) + } + panic(fmt.Errorf("message regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder 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_UInt64SelectorBuyOrder) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder", 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_UInt64SelectorBuyOrder) 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_UInt64SelectorBuyOrder) 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_UInt64SelectorBuyOrder) 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_UInt64SelectorBuyOrder) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*UInt64SelectorBuyOrder) + 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.BuyOrderId != 0 { + n += 1 + runtime.Sov(uint64(x.BuyOrderId)) + } + if x.SelectorType != 0 { + n += 1 + runtime.Sov(uint64(x.SelectorType)) + } + if x.Value != 0 { + n += 1 + runtime.Sov(uint64(x.Value)) + } + l = len(x.ProjectLocation) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MinStartDate != nil { + l = options.Size(x.MinStartDate) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.MaxEndDate != nil { + l = options.Size(x.MaxEndDate) + 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().(*UInt64SelectorBuyOrder) + 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.MaxEndDate != nil { + encoded, err := options.Marshal(x.MaxEndDate) + 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] = 0x32 + } + if x.MinStartDate != nil { + encoded, err := options.Marshal(x.MinStartDate) + 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] = 0x2a + } + if len(x.ProjectLocation) > 0 { + i -= len(x.ProjectLocation) + copy(dAtA[i:], x.ProjectLocation) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectLocation))) + i-- + dAtA[i] = 0x22 + } + if x.Value != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Value)) + i-- + dAtA[i] = 0x18 + } + if x.SelectorType != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.SelectorType)) + i-- + dAtA[i] = 0x10 + } + if x.BuyOrderId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BuyOrderId)) + i-- + dAtA[i] = 0x8 + } + 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().(*UInt64SelectorBuyOrder) + 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: UInt64SelectorBuyOrder: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: UInt64SelectorBuyOrder: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BuyOrderId", wireType) + } + x.BuyOrderId = 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.BuyOrderId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field SelectorType", wireType) + } + x.SelectorType = 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.SelectorType |= v1beta1.SelectorType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + x.Value = 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.Value |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectLocation", 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.ProjectLocation = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MinStartDate", 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.MinStartDate == nil { + x.MinStartDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.MinStartDate); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxEndDate", 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.MaxEndDate == nil { + x.MaxEndDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.MaxEndDate); 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, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: regen/ecocredit/orderbook/v1beta1/memory.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// BuyOrderSellOrderMatch defines the data the FIFO/price-time-priority matching +// algorithm used to actually match buy and sell orders. +type BuyOrderSellOrderMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // bid_denom_id defines the bid denom being used by the buy and sell orders. Matching always happens within a single bid denom. + BidDenomId uint32 `protobuf:"varint,1,opt,name=bid_denom_id,json=bidDenomId,proto3" json:"bid_denom_id,omitempty"` + // buy_order_id is the buy order ID. + BuyOrderId uint64 `protobuf:"varint,2,opt,name=buy_order_id,json=buyOrderId,proto3" json:"buy_order_id,omitempty"` + // sell_order_id is the sell order ID. + SellOrderId uint64 `protobuf:"varint,3,opt,name=sell_order_id,json=sellOrderId,proto3" json:"sell_order_id,omitempty"` + // bid_price_complement is the the complement (~ operator) of the bid price encoded as a uint64 (which should have sufficient precision) - effectively ~price * 10^exponent (usually 10^6). The complement is used so that bids can be sorted high to low. + BidPriceComplement uint64 `protobuf:"fixed64,4,opt,name=bid_price_complement,json=bidPriceComplement,proto3" json:"bid_price_complement,omitempty"` + // ask_price is the ask price encoded to a uint64. Ask prices are sorted low to high. + AskPrice uint64 `protobuf:"fixed64,5,opt,name=ask_price,json=askPrice,proto3" json:"ask_price,omitempty"` +} + +func (x *BuyOrderSellOrderMatch) Reset() { + *x = BuyOrderSellOrderMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuyOrderSellOrderMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuyOrderSellOrderMatch) ProtoMessage() {} + +// Deprecated: Use BuyOrderSellOrderMatch.ProtoReflect.Descriptor instead. +func (*BuyOrderSellOrderMatch) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescGZIP(), []int{0} +} + +func (x *BuyOrderSellOrderMatch) GetBidDenomId() uint32 { + if x != nil { + return x.BidDenomId + } + return 0 +} + +func (x *BuyOrderSellOrderMatch) GetBuyOrderId() uint64 { + if x != nil { + return x.BuyOrderId + } + return 0 +} + +func (x *BuyOrderSellOrderMatch) GetSellOrderId() uint64 { + if x != nil { + return x.SellOrderId + } + return 0 +} + +func (x *BuyOrderSellOrderMatch) GetBidPriceComplement() uint64 { + if x != nil { + return x.BidPriceComplement + } + return 0 +} + +func (x *BuyOrderSellOrderMatch) GetAskPrice() uint64 { + if x != nil { + return x.AskPrice + } + return 0 +} + +// UInt64SelectorBuyOrder indexes a buy order against uint64 selectors in its criteria. +// For example, for a buy order with a selector for a credit class, should insert +/// an entry with type class. +type UInt64SelectorBuyOrder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // buy_order_id is the buy order ID. + BuyOrderId uint64 `protobuf:"varint,1,opt,name=buy_order_id,json=buyOrderId,proto3" json:"buy_order_id,omitempty"` + // type is the selector type. + SelectorType v1beta1.SelectorType `protobuf:"varint,2,opt,name=selector_type,json=selectorType,proto3,enum=regen.ecocredit.marketplace.v1beta1.SelectorType" json:"selector_type,omitempty"` + // value is the uint64 selector value. + Value uint64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"` + // project_location is the project location in the selector's criteria. + ProjectLocation string `protobuf:"bytes,4,opt,name=project_location,json=projectLocation,proto3" json:"project_location,omitempty"` + // min_start_date is the minimum start date in the selector's criteria. + MinStartDate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=min_start_date,json=minStartDate,proto3" json:"min_start_date,omitempty"` + // max_end_date is the maximum end date in the selector's criteria. + MaxEndDate *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=max_end_date,json=maxEndDate,proto3" json:"max_end_date,omitempty"` +} + +func (x *UInt64SelectorBuyOrder) Reset() { + *x = UInt64SelectorBuyOrder{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UInt64SelectorBuyOrder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UInt64SelectorBuyOrder) ProtoMessage() {} + +// Deprecated: Use UInt64SelectorBuyOrder.ProtoReflect.Descriptor instead. +func (*UInt64SelectorBuyOrder) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescGZIP(), []int{1} +} + +func (x *UInt64SelectorBuyOrder) GetBuyOrderId() uint64 { + if x != nil { + return x.BuyOrderId + } + return 0 +} + +func (x *UInt64SelectorBuyOrder) GetSelectorType() v1beta1.SelectorType { + if x != nil { + return x.SelectorType + } + return v1beta1.SelectorType(0) +} + +func (x *UInt64SelectorBuyOrder) GetValue() uint64 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *UInt64SelectorBuyOrder) GetProjectLocation() string { + if x != nil { + return x.ProjectLocation + } + return "" +} + +func (x *UInt64SelectorBuyOrder) GetMinStartDate() *timestamppb.Timestamp { + if x != nil { + return x.MinStartDate + } + return nil +} + +func (x *UInt64SelectorBuyOrder) GetMaxEndDate() *timestamppb.Timestamp { + if x != nil { + return x.MaxEndDate + } + return nil +} + +var File_regen_ecocredit_orderbook_v1beta1_memory_proto protoreflect.FileDescriptor + +var file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDesc = []byte{ + 0x0a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x21, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, + 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x02, 0x0a, 0x16, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x20, 0x0a, 0x0c, 0x62, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x69, 0x64, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x69, 0x64, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x12, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x6b, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, 0x61, 0x73, + 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x3a, 0x85, 0x01, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x7f, 0x0a, + 0x1c, 0x0a, 0x1a, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x4a, 0x0a, + 0x46, 0x62, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x2c, 0x62, 0x69, + 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, + 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x65, 0x6c, + 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x10, 0x02, 0x18, 0x01, 0x22, 0x9a, + 0x03, 0x0a, 0x16, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x0d, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 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, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 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, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x3a, 0x45, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x3f, 0x0a, 0x22, 0x0a, 0x20, + 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x17, 0x0a, 0x13, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x2c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x01, 0x18, 0x02, 0x42, 0xb9, 0x02, 0x0a, 0x25, + 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x5c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x4f, 0xaa, 0x02, 0x21, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x62, 0x6f, 0x6f, 0x6b, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x21, 0x52, + 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xe2, 0x02, 0x2d, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x62, 0x6f, 0x6f, 0x6b, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescOnce sync.Once + file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescData = file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDesc +) + +func file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescGZIP() []byte { + file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescOnce.Do(func() { + file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescData) + }) + return file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDescData +} + +var file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_regen_ecocredit_orderbook_v1beta1_memory_proto_goTypes = []interface{}{ + (*BuyOrderSellOrderMatch)(nil), // 0: regen.ecocredit.orderbook.v1beta1.BuyOrderSellOrderMatch + (*UInt64SelectorBuyOrder)(nil), // 1: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder + (v1beta1.SelectorType)(0), // 2: regen.ecocredit.marketplace.v1beta1.SelectorType + (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_regen_ecocredit_orderbook_v1beta1_memory_proto_depIdxs = []int32{ + 2, // 0: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.selector_type:type_name -> regen.ecocredit.marketplace.v1beta1.SelectorType + 3, // 1: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.min_start_date:type_name -> google.protobuf.Timestamp + 3, // 2: regen.ecocredit.orderbook.v1beta1.UInt64SelectorBuyOrder.max_end_date:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_regen_ecocredit_orderbook_v1beta1_memory_proto_init() } +func file_regen_ecocredit_orderbook_v1beta1_memory_proto_init() { + if File_regen_ecocredit_orderbook_v1beta1_memory_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuyOrderSellOrderMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UInt64SelectorBuyOrder); 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{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_regen_ecocredit_orderbook_v1beta1_memory_proto_goTypes, + DependencyIndexes: file_regen_ecocredit_orderbook_v1beta1_memory_proto_depIdxs, + MessageInfos: file_regen_ecocredit_orderbook_v1beta1_memory_proto_msgTypes, + }.Build() + File_regen_ecocredit_orderbook_v1beta1_memory_proto = out.File + file_regen_ecocredit_orderbook_v1beta1_memory_proto_rawDesc = nil + file_regen_ecocredit_orderbook_v1beta1_memory_proto_goTypes = nil + file_regen_ecocredit_orderbook_v1beta1_memory_proto_depIdxs = nil +} diff --git a/api/regen/ecocredit/v1alpha2/events.pulsar.go b/api/regen/ecocredit/v1alpha2/events.pulsar.go index a02a4505bf..4a494933ff 100644 --- a/api/regen/ecocredit/v1alpha2/events.pulsar.go +++ b/api/regen/ecocredit/v1alpha2/events.pulsar.go @@ -4,9 +4,11 @@ import ( fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" + _ "github.com/gogo/protobuf/gogoproto" 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" io "io" reflect "reflect" sync "sync" @@ -3819,6 +3821,7 @@ var ( fd_EventSell_quantity protoreflect.FieldDescriptor fd_EventSell_ask_price protoreflect.FieldDescriptor fd_EventSell_disable_auto_retire protoreflect.FieldDescriptor + fd_EventSell_expiration protoreflect.FieldDescriptor ) func init() { @@ -3829,6 +3832,7 @@ func init() { fd_EventSell_quantity = md_EventSell.Fields().ByName("quantity") fd_EventSell_ask_price = md_EventSell.Fields().ByName("ask_price") fd_EventSell_disable_auto_retire = md_EventSell.Fields().ByName("disable_auto_retire") + fd_EventSell_expiration = md_EventSell.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_EventSell)(nil) @@ -3926,6 +3930,12 @@ func (x *fastReflection_EventSell) Range(f func(protoreflect.FieldDescriptor, pr return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_EventSell_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -3951,6 +3961,8 @@ func (x *fastReflection_EventSell) Has(fd protoreflect.FieldDescriptor) bool { return x.AskPrice != nil case "regen.ecocredit.v1alpha2.EventSell.disable_auto_retire": return x.DisableAutoRetire != false + case "regen.ecocredit.v1alpha2.EventSell.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventSell")) @@ -3977,6 +3989,8 @@ func (x *fastReflection_EventSell) Clear(fd protoreflect.FieldDescriptor) { x.AskPrice = nil case "regen.ecocredit.v1alpha2.EventSell.disable_auto_retire": x.DisableAutoRetire = false + case "regen.ecocredit.v1alpha2.EventSell.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventSell")) @@ -4008,6 +4022,9 @@ func (x *fastReflection_EventSell) Get(descriptor protoreflect.FieldDescriptor) case "regen.ecocredit.v1alpha2.EventSell.disable_auto_retire": value := x.DisableAutoRetire return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.EventSell.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventSell")) @@ -4038,6 +4055,8 @@ func (x *fastReflection_EventSell) Set(fd protoreflect.FieldDescriptor, value pr x.AskPrice = value.Message().Interface().(*v1beta1.Coin) case "regen.ecocredit.v1alpha2.EventSell.disable_auto_retire": x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.v1alpha2.EventSell.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventSell")) @@ -4063,6 +4082,11 @@ func (x *fastReflection_EventSell) Mutable(fd protoreflect.FieldDescriptor) prot x.AskPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.AskPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.EventSell.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.EventSell.order_id": panic(fmt.Errorf("field order_id of message regen.ecocredit.v1alpha2.EventSell is not mutable")) case "regen.ecocredit.v1alpha2.EventSell.batch_denom": @@ -4095,6 +4119,9 @@ func (x *fastReflection_EventSell) NewField(fd protoreflect.FieldDescriptor) pro return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1alpha2.EventSell.disable_auto_retire": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.EventSell.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventSell")) @@ -4182,6 +4209,10 @@ func (x *fastReflection_EventSell) ProtoMethods() *protoiface.Methods { if x.DisableAutoRetire { n += 2 } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4211,6 +4242,20 @@ func (x *fastReflection_EventSell) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x32 + } if x.DisableAutoRetire { i-- if x.DisableAutoRetire { @@ -4442,6 +4487,42 @@ func (x *fastReflection_EventSell) ProtoMethods() *protoiface.Methods { } } x.DisableAutoRetire = bool(v != 0) + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -4485,6 +4566,7 @@ var ( fd_EventUpdateSellOrder_new_quantity protoreflect.FieldDescriptor fd_EventUpdateSellOrder_new_ask_price protoreflect.FieldDescriptor fd_EventUpdateSellOrder_disable_auto_retire protoreflect.FieldDescriptor + fd_EventUpdateSellOrder_new_expiration protoreflect.FieldDescriptor ) func init() { @@ -4496,6 +4578,7 @@ func init() { fd_EventUpdateSellOrder_new_quantity = md_EventUpdateSellOrder.Fields().ByName("new_quantity") fd_EventUpdateSellOrder_new_ask_price = md_EventUpdateSellOrder.Fields().ByName("new_ask_price") fd_EventUpdateSellOrder_disable_auto_retire = md_EventUpdateSellOrder.Fields().ByName("disable_auto_retire") + fd_EventUpdateSellOrder_new_expiration = md_EventUpdateSellOrder.Fields().ByName("new_expiration") } var _ protoreflect.Message = (*fastReflection_EventUpdateSellOrder)(nil) @@ -4599,6 +4682,12 @@ func (x *fastReflection_EventUpdateSellOrder) Range(f func(protoreflect.FieldDes return } } + if x.NewExpiration != nil { + value := protoreflect.ValueOfMessage(x.NewExpiration.ProtoReflect()) + if !f(fd_EventUpdateSellOrder_new_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -4626,6 +4715,8 @@ func (x *fastReflection_EventUpdateSellOrder) Has(fd protoreflect.FieldDescripto return x.NewAskPrice != nil case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.disable_auto_retire": return x.DisableAutoRetire != false + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + return x.NewExpiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventUpdateSellOrder")) @@ -4654,6 +4745,8 @@ func (x *fastReflection_EventUpdateSellOrder) Clear(fd protoreflect.FieldDescrip x.NewAskPrice = nil case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.disable_auto_retire": x.DisableAutoRetire = false + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + x.NewExpiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventUpdateSellOrder")) @@ -4688,6 +4781,9 @@ func (x *fastReflection_EventUpdateSellOrder) Get(descriptor protoreflect.FieldD case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.disable_auto_retire": value := x.DisableAutoRetire return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + value := x.NewExpiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventUpdateSellOrder")) @@ -4720,6 +4816,8 @@ func (x *fastReflection_EventUpdateSellOrder) Set(fd protoreflect.FieldDescripto x.NewAskPrice = value.Message().Interface().(*v1beta1.Coin) case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.disable_auto_retire": x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + x.NewExpiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventUpdateSellOrder")) @@ -4745,6 +4843,11 @@ func (x *fastReflection_EventUpdateSellOrder) Mutable(fd protoreflect.FieldDescr x.NewAskPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.NewAskPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + if x.NewExpiration == nil { + x.NewExpiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.NewExpiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.owner": panic(fmt.Errorf("field owner of message regen.ecocredit.v1alpha2.EventUpdateSellOrder is not mutable")) case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.sell_order_id": @@ -4781,6 +4884,9 @@ func (x *fastReflection_EventUpdateSellOrder) NewField(fd protoreflect.FieldDesc return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.disable_auto_retire": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventUpdateSellOrder")) @@ -4872,6 +4978,10 @@ func (x *fastReflection_EventUpdateSellOrder) ProtoMethods() *protoiface.Methods if x.DisableAutoRetire { n += 2 } + if x.NewExpiration != nil { + l = options.Size(x.NewExpiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4901,6 +5011,20 @@ func (x *fastReflection_EventUpdateSellOrder) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.NewExpiration != nil { + encoded, err := options.Marshal(x.NewExpiration) + 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] = 0x3a + } if x.DisableAutoRetire { i-- if x.DisableAutoRetire { @@ -5171,6 +5295,42 @@ func (x *fastReflection_EventUpdateSellOrder) ProtoMethods() *protoiface.Methods } } x.DisableAutoRetire = bool(v != 0) + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewExpiration", 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.NewExpiration == nil { + x.NewExpiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NewExpiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -5215,6 +5375,7 @@ var ( fd_EventBuyOrderCreated_disable_auto_retire protoreflect.FieldDescriptor fd_EventBuyOrderCreated_disable_partial_fill protoreflect.FieldDescriptor fd_EventBuyOrderCreated_retirement_location protoreflect.FieldDescriptor + fd_EventBuyOrderCreated_expiration protoreflect.FieldDescriptor ) func init() { @@ -5227,6 +5388,7 @@ func init() { fd_EventBuyOrderCreated_disable_auto_retire = md_EventBuyOrderCreated.Fields().ByName("disable_auto_retire") fd_EventBuyOrderCreated_disable_partial_fill = md_EventBuyOrderCreated.Fields().ByName("disable_partial_fill") fd_EventBuyOrderCreated_retirement_location = md_EventBuyOrderCreated.Fields().ByName("retirement_location") + fd_EventBuyOrderCreated_expiration = md_EventBuyOrderCreated.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_EventBuyOrderCreated)(nil) @@ -5336,6 +5498,12 @@ func (x *fastReflection_EventBuyOrderCreated) Range(f func(protoreflect.FieldDes return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_EventBuyOrderCreated_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -5365,6 +5533,8 @@ func (x *fastReflection_EventBuyOrderCreated) Has(fd protoreflect.FieldDescripto return x.DisablePartialFill != false case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.retirement_location": return x.RetirementLocation != "" + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventBuyOrderCreated")) @@ -5395,6 +5565,8 @@ func (x *fastReflection_EventBuyOrderCreated) Clear(fd protoreflect.FieldDescrip x.DisablePartialFill = false case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.retirement_location": x.RetirementLocation = "" + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventBuyOrderCreated")) @@ -5432,6 +5604,9 @@ func (x *fastReflection_EventBuyOrderCreated) Get(descriptor protoreflect.FieldD case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.retirement_location": value := x.RetirementLocation return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventBuyOrderCreated")) @@ -5466,6 +5641,8 @@ func (x *fastReflection_EventBuyOrderCreated) Set(fd protoreflect.FieldDescripto x.DisablePartialFill = value.Bool() case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.retirement_location": x.RetirementLocation = value.Interface().(string) + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventBuyOrderCreated")) @@ -5491,6 +5668,11 @@ func (x *fastReflection_EventBuyOrderCreated) Mutable(fd protoreflect.FieldDescr x.BidPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.BidPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.buy_order_id": panic(fmt.Errorf("field buy_order_id of message regen.ecocredit.v1alpha2.EventBuyOrderCreated is not mutable")) case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.sell_order_id": @@ -5531,6 +5713,9 @@ func (x *fastReflection_EventBuyOrderCreated) NewField(fd protoreflect.FieldDesc return protoreflect.ValueOfBool(false) case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.retirement_location": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.EventBuyOrderCreated")) @@ -5624,6 +5809,10 @@ func (x *fastReflection_EventBuyOrderCreated) ProtoMethods() *protoiface.Methods if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5653,6 +5842,20 @@ func (x *fastReflection_EventBuyOrderCreated) ProtoMethods() *protoiface.Methods i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x42 + } if len(x.RetirementLocation) > 0 { i -= len(x.RetirementLocation) copy(dAtA[i:], x.RetirementLocation) @@ -5938,6 +6141,42 @@ func (x *fastReflection_EventBuyOrderCreated) ProtoMethods() *protoiface.Methods } x.RetirementLocation = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -7618,6 +7857,9 @@ type EventSell struct { // buyer to disable auto-retirement in their buy order enabling them to // resell the credits to another buyer. DisableAutoRetire bool `protobuf:"varint,5,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *EventSell) Reset() { @@ -7675,6 +7917,13 @@ func (x *EventSell) GetDisableAutoRetire() bool { return false } +func (x *EventSell) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // EventUpdateSellOrder is an event emitted when a sell order is updated. type EventUpdateSellOrder struct { state protoimpl.MessageState @@ -7694,6 +7943,9 @@ type EventUpdateSellOrder struct { NewAskPrice *v1beta1.Coin `protobuf:"bytes,5,opt,name=new_ask_price,json=newAskPrice,proto3" json:"new_ask_price,omitempty"` // disable_auto_retire updates the disable_auto_retire field in the sell order. DisableAutoRetire bool `protobuf:"varint,6,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // new_expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + NewExpiration *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=new_expiration,json=newExpiration,proto3" json:"new_expiration,omitempty"` } func (x *EventUpdateSellOrder) Reset() { @@ -7758,6 +8010,13 @@ func (x *EventUpdateSellOrder) GetDisableAutoRetire() bool { return false } +func (x *EventUpdateSellOrder) GetNewExpiration() *timestamppb.Timestamp { + if x != nil { + return x.NewExpiration + } + return nil +} + // EventBuyOrderCreated is an event emitted when a buy order is created. type EventBuyOrderCreated struct { state protoimpl.MessageState @@ -7789,6 +8048,9 @@ type EventBuyOrderCreated struct { // retirement_location is the optional retirement location for the credits // which will be used only if disable_auto_retire is false. RetirementLocation string `protobuf:"bytes,7,opt,name=retirement_location,json=retirementLocation,proto3" json:"retirement_location,omitempty"` + // expiration is the optional timestamp when the buy order expires. When the + // expiration time is reached, the buy order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *EventBuyOrderCreated) Reset() { @@ -7860,6 +8122,13 @@ func (x *EventBuyOrderCreated) GetRetirementLocation() string { return "" } +func (x *EventBuyOrderCreated) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // EventBuyOrderFilled is an event emitted when a buy order is filled. type EventBuyOrderFilled struct { state protoimpl.MessageState @@ -7996,152 +8265,168 @@ var file_regen_ecocredit_v1alpha2_events_proto_rawDesc = []byte{ 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x32, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x91, 0x01, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, - 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x10, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x0c, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, - 0x64, 0x65, 0x72, 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, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, - 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, - 0x64, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x22, 0x7c, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x64, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, - 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1f, 0x0a, - 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, - 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 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, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x22, 0x83, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x6e, 0x65, 0x77, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0d, 0x6e, - 0x65, 0x77, 0x5f, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, - 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, 0x52, 0x0b, 0x6e, - 0x65, 0x77, 0x41, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x22, 0xc3, 0x02, 0x0a, 0x14, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, - 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 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, 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, - 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x30, 0x0a, - 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x6c, 0x12, - 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, - 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, - 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, - 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x0b, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x14, 0x0a, - 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x83, 0x02, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, - 0xaa, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, 0x18, 0x52, 0x65, - 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xe2, 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, - 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x32, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x91, 0x01, + 0x0a, 0x12, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x10, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, + 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, + 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x0c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 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, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, + 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x7c, 0x0a, 0x0b, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, + 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x6c, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, 0x02, + 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 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, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, + 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x02, + 0x0a, 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, + 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0d, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x73, 0x6b, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x41, 0x73, 0x6b, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, + 0x69, 0x72, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x6e, + 0x65, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x03, 0x0a, + 0x14, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, + 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 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, 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, + 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, + 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, + 0x6c, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x08, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, 0x0a, 0x13, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x75, + 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0c, + 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, + 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x3a, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, + 0x20, 0x01, 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, 0x52, + 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x6b, 0x0a, 0x12, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x83, 0x02, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, 0x0b, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xa2, 0x02, + 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, + 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xe2, 0x02, 0x24, 0x52, 0x65, 0x67, + 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, + 0x6c, 0x70, 0x68, 0x61, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x1a, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8158,29 +8443,33 @@ func file_regen_ecocredit_v1alpha2_events_proto_rawDescGZIP() []byte { var file_regen_ecocredit_v1alpha2_events_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_regen_ecocredit_v1alpha2_events_proto_goTypes = []interface{}{ - (*EventCreateClass)(nil), // 0: regen.ecocredit.v1alpha2.EventCreateClass - (*EventCreateProject)(nil), // 1: regen.ecocredit.v1alpha2.EventCreateProject - (*EventCreateBatch)(nil), // 2: regen.ecocredit.v1alpha2.EventCreateBatch - (*EventReceive)(nil), // 3: regen.ecocredit.v1alpha2.EventReceive - (*EventRetire)(nil), // 4: regen.ecocredit.v1alpha2.EventRetire - (*EventCancel)(nil), // 5: regen.ecocredit.v1alpha2.EventCancel - (*EventSell)(nil), // 6: regen.ecocredit.v1alpha2.EventSell - (*EventUpdateSellOrder)(nil), // 7: regen.ecocredit.v1alpha2.EventUpdateSellOrder - (*EventBuyOrderCreated)(nil), // 8: regen.ecocredit.v1alpha2.EventBuyOrderCreated - (*EventBuyOrderFilled)(nil), // 9: regen.ecocredit.v1alpha2.EventBuyOrderFilled - (*EventAllowAskDenom)(nil), // 10: regen.ecocredit.v1alpha2.EventAllowAskDenom - (*v1beta1.Coin)(nil), // 11: cosmos.base.v1beta1.Coin + (*EventCreateClass)(nil), // 0: regen.ecocredit.v1alpha2.EventCreateClass + (*EventCreateProject)(nil), // 1: regen.ecocredit.v1alpha2.EventCreateProject + (*EventCreateBatch)(nil), // 2: regen.ecocredit.v1alpha2.EventCreateBatch + (*EventReceive)(nil), // 3: regen.ecocredit.v1alpha2.EventReceive + (*EventRetire)(nil), // 4: regen.ecocredit.v1alpha2.EventRetire + (*EventCancel)(nil), // 5: regen.ecocredit.v1alpha2.EventCancel + (*EventSell)(nil), // 6: regen.ecocredit.v1alpha2.EventSell + (*EventUpdateSellOrder)(nil), // 7: regen.ecocredit.v1alpha2.EventUpdateSellOrder + (*EventBuyOrderCreated)(nil), // 8: regen.ecocredit.v1alpha2.EventBuyOrderCreated + (*EventBuyOrderFilled)(nil), // 9: regen.ecocredit.v1alpha2.EventBuyOrderFilled + (*EventAllowAskDenom)(nil), // 10: regen.ecocredit.v1alpha2.EventAllowAskDenom + (*v1beta1.Coin)(nil), // 11: cosmos.base.v1beta1.Coin + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp } var file_regen_ecocredit_v1alpha2_events_proto_depIdxs = []int32{ 11, // 0: regen.ecocredit.v1alpha2.EventSell.ask_price:type_name -> cosmos.base.v1beta1.Coin - 11, // 1: regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_ask_price:type_name -> cosmos.base.v1beta1.Coin - 11, // 2: regen.ecocredit.v1alpha2.EventBuyOrderCreated.bid_price:type_name -> cosmos.base.v1beta1.Coin - 11, // 3: regen.ecocredit.v1alpha2.EventBuyOrderFilled.total_price:type_name -> cosmos.base.v1beta1.Coin - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] 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, // 1: regen.ecocredit.v1alpha2.EventSell.expiration:type_name -> google.protobuf.Timestamp + 11, // 2: regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_ask_price:type_name -> cosmos.base.v1beta1.Coin + 12, // 3: regen.ecocredit.v1alpha2.EventUpdateSellOrder.new_expiration:type_name -> google.protobuf.Timestamp + 11, // 4: regen.ecocredit.v1alpha2.EventBuyOrderCreated.bid_price:type_name -> cosmos.base.v1beta1.Coin + 12, // 5: regen.ecocredit.v1alpha2.EventBuyOrderCreated.expiration:type_name -> google.protobuf.Timestamp + 11, // 6: regen.ecocredit.v1alpha2.EventBuyOrderFilled.total_price:type_name -> cosmos.base.v1beta1.Coin + 7, // [7:7] is the sub-list for method output_type + 7, // [7:7] is the sub-list for method input_type + 7, // [7:7] is the sub-list for extension type_name + 7, // [7:7] is the sub-list for extension extendee + 0, // [0:7] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1alpha2_events_proto_init() } diff --git a/api/regen/ecocredit/v1alpha2/tx.pulsar.go b/api/regen/ecocredit/v1alpha2/tx.pulsar.go index 30ee5a7646..f95b3f6b0e 100644 --- a/api/regen/ecocredit/v1alpha2/tx.pulsar.go +++ b/api/regen/ecocredit/v1alpha2/tx.pulsar.go @@ -11872,6 +11872,7 @@ var ( fd_MsgSell_Order_quantity protoreflect.FieldDescriptor fd_MsgSell_Order_ask_price protoreflect.FieldDescriptor fd_MsgSell_Order_disable_auto_retire protoreflect.FieldDescriptor + fd_MsgSell_Order_expiration protoreflect.FieldDescriptor ) func init() { @@ -11881,6 +11882,7 @@ func init() { fd_MsgSell_Order_quantity = md_MsgSell_Order.Fields().ByName("quantity") fd_MsgSell_Order_ask_price = md_MsgSell_Order.Fields().ByName("ask_price") fd_MsgSell_Order_disable_auto_retire = md_MsgSell_Order.Fields().ByName("disable_auto_retire") + fd_MsgSell_Order_expiration = md_MsgSell_Order.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_MsgSell_Order)(nil) @@ -11972,6 +11974,12 @@ func (x *fastReflection_MsgSell_Order) Range(f func(protoreflect.FieldDescriptor return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_MsgSell_Order_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -11995,6 +12003,8 @@ func (x *fastReflection_MsgSell_Order) Has(fd protoreflect.FieldDescriptor) bool return x.AskPrice != nil case "regen.ecocredit.v1alpha2.MsgSell.Order.disable_auto_retire": return x.DisableAutoRetire != false + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgSell.Order")) @@ -12019,6 +12029,8 @@ func (x *fastReflection_MsgSell_Order) Clear(fd protoreflect.FieldDescriptor) { x.AskPrice = nil case "regen.ecocredit.v1alpha2.MsgSell.Order.disable_auto_retire": x.DisableAutoRetire = false + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgSell.Order")) @@ -12047,6 +12059,9 @@ func (x *fastReflection_MsgSell_Order) Get(descriptor protoreflect.FieldDescript case "regen.ecocredit.v1alpha2.MsgSell.Order.disable_auto_retire": value := x.DisableAutoRetire return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgSell.Order")) @@ -12075,6 +12090,8 @@ func (x *fastReflection_MsgSell_Order) Set(fd protoreflect.FieldDescriptor, valu x.AskPrice = value.Message().Interface().(*v1beta1.Coin) case "regen.ecocredit.v1alpha2.MsgSell.Order.disable_auto_retire": x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgSell.Order")) @@ -12100,6 +12117,11 @@ func (x *fastReflection_MsgSell_Order) Mutable(fd protoreflect.FieldDescriptor) x.AskPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.AskPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.MsgSell.Order.batch_denom": panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1alpha2.MsgSell.Order is not mutable")) case "regen.ecocredit.v1alpha2.MsgSell.Order.quantity": @@ -12128,6 +12150,9 @@ func (x *fastReflection_MsgSell_Order) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1alpha2.MsgSell.Order.disable_auto_retire": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.MsgSell.Order.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgSell.Order")) @@ -12212,6 +12237,10 @@ func (x *fastReflection_MsgSell_Order) ProtoMethods() *protoiface.Methods { if x.DisableAutoRetire { n += 2 } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -12241,6 +12270,20 @@ func (x *fastReflection_MsgSell_Order) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x2a + } if x.DisableAutoRetire { i-- if x.DisableAutoRetire { @@ -12448,6 +12491,42 @@ func (x *fastReflection_MsgSell_Order) ProtoMethods() *protoiface.Methods { } } x.DisableAutoRetire = bool(v != 0) + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -13583,6 +13662,7 @@ var ( fd_MsgUpdateSellOrders_Update_new_quantity protoreflect.FieldDescriptor fd_MsgUpdateSellOrders_Update_new_ask_price protoreflect.FieldDescriptor fd_MsgUpdateSellOrders_Update_disable_auto_retire protoreflect.FieldDescriptor + fd_MsgUpdateSellOrders_Update_new_expiration protoreflect.FieldDescriptor ) func init() { @@ -13592,6 +13672,7 @@ func init() { fd_MsgUpdateSellOrders_Update_new_quantity = md_MsgUpdateSellOrders_Update.Fields().ByName("new_quantity") fd_MsgUpdateSellOrders_Update_new_ask_price = md_MsgUpdateSellOrders_Update.Fields().ByName("new_ask_price") fd_MsgUpdateSellOrders_Update_disable_auto_retire = md_MsgUpdateSellOrders_Update.Fields().ByName("disable_auto_retire") + fd_MsgUpdateSellOrders_Update_new_expiration = md_MsgUpdateSellOrders_Update.Fields().ByName("new_expiration") } var _ protoreflect.Message = (*fastReflection_MsgUpdateSellOrders_Update)(nil) @@ -13683,6 +13764,12 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Range(f func(protoreflect.Fi return } } + if x.NewExpiration != nil { + value := protoreflect.ValueOfMessage(x.NewExpiration.ProtoReflect()) + if !f(fd_MsgUpdateSellOrders_Update_new_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -13706,6 +13793,8 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Has(fd protoreflect.FieldDes return x.NewAskPrice != nil case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.disable_auto_retire": return x.DisableAutoRetire != false + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + return x.NewExpiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update")) @@ -13730,6 +13819,8 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Clear(fd protoreflect.FieldD x.NewAskPrice = nil case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.disable_auto_retire": x.DisableAutoRetire = false + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + x.NewExpiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update")) @@ -13758,6 +13849,9 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Get(descriptor protoreflect. case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.disable_auto_retire": value := x.DisableAutoRetire return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + value := x.NewExpiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update")) @@ -13786,6 +13880,8 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Set(fd protoreflect.FieldDes x.NewAskPrice = value.Message().Interface().(*v1beta1.Coin) case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.disable_auto_retire": x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + x.NewExpiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update")) @@ -13811,6 +13907,11 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) Mutable(fd protoreflect.Fiel x.NewAskPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.NewAskPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + if x.NewExpiration == nil { + x.NewExpiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.NewExpiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.sell_order_id": panic(fmt.Errorf("field sell_order_id of message regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update is not mutable")) case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_quantity": @@ -13839,6 +13940,9 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) NewField(fd protoreflect.Fie return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.disable_auto_retire": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update")) @@ -13922,6 +14026,10 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) ProtoMethods() *protoiface.M if x.DisableAutoRetire { n += 2 } + if x.NewExpiration != nil { + l = options.Size(x.NewExpiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -13951,6 +14059,20 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) ProtoMethods() *protoiface.M i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.NewExpiration != nil { + encoded, err := options.Marshal(x.NewExpiration) + 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] = 0x2a + } if x.DisableAutoRetire { i-- if x.DisableAutoRetire { @@ -14143,6 +14265,42 @@ func (x *fastReflection_MsgUpdateSellOrders_Update) ProtoMethods() *protoiface.M } } x.DisableAutoRetire = bool(v != 0) + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewExpiration", 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.NewExpiration == nil { + x.NewExpiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NewExpiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15100,6 +15258,7 @@ var ( fd_MsgBuy_Order_disable_auto_retire protoreflect.FieldDescriptor fd_MsgBuy_Order_disable_partial_fill protoreflect.FieldDescriptor fd_MsgBuy_Order_retirement_location protoreflect.FieldDescriptor + fd_MsgBuy_Order_expiration protoreflect.FieldDescriptor ) func init() { @@ -15111,6 +15270,7 @@ func init() { fd_MsgBuy_Order_disable_auto_retire = md_MsgBuy_Order.Fields().ByName("disable_auto_retire") fd_MsgBuy_Order_disable_partial_fill = md_MsgBuy_Order.Fields().ByName("disable_partial_fill") fd_MsgBuy_Order_retirement_location = md_MsgBuy_Order.Fields().ByName("retirement_location") + fd_MsgBuy_Order_expiration = md_MsgBuy_Order.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_MsgBuy_Order)(nil) @@ -15214,6 +15374,12 @@ func (x *fastReflection_MsgBuy_Order) Range(f func(protoreflect.FieldDescriptor, return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_MsgBuy_Order_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -15241,6 +15407,8 @@ func (x *fastReflection_MsgBuy_Order) Has(fd protoreflect.FieldDescriptor) bool return x.DisablePartialFill != false case "regen.ecocredit.v1alpha2.MsgBuy.Order.retirement_location": return x.RetirementLocation != "" + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgBuy.Order")) @@ -15269,6 +15437,8 @@ func (x *fastReflection_MsgBuy_Order) Clear(fd protoreflect.FieldDescriptor) { x.DisablePartialFill = false case "regen.ecocredit.v1alpha2.MsgBuy.Order.retirement_location": x.RetirementLocation = "" + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgBuy.Order")) @@ -15303,6 +15473,9 @@ func (x *fastReflection_MsgBuy_Order) Get(descriptor protoreflect.FieldDescripto case "regen.ecocredit.v1alpha2.MsgBuy.Order.retirement_location": value := x.RetirementLocation return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgBuy.Order")) @@ -15335,6 +15508,8 @@ func (x *fastReflection_MsgBuy_Order) Set(fd protoreflect.FieldDescriptor, value x.DisablePartialFill = value.Bool() case "regen.ecocredit.v1alpha2.MsgBuy.Order.retirement_location": x.RetirementLocation = value.Interface().(string) + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgBuy.Order")) @@ -15365,6 +15540,11 @@ func (x *fastReflection_MsgBuy_Order) Mutable(fd protoreflect.FieldDescriptor) p x.BidPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.BidPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.MsgBuy.Order.quantity": panic(fmt.Errorf("field quantity of message regen.ecocredit.v1alpha2.MsgBuy.Order is not mutable")) case "regen.ecocredit.v1alpha2.MsgBuy.Order.disable_auto_retire": @@ -15400,6 +15580,9 @@ func (x *fastReflection_MsgBuy_Order) NewField(fd protoreflect.FieldDescriptor) return protoreflect.ValueOfBool(false) case "regen.ecocredit.v1alpha2.MsgBuy.Order.retirement_location": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1alpha2.MsgBuy.Order.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.MsgBuy.Order")) @@ -15491,6 +15674,10 @@ func (x *fastReflection_MsgBuy_Order) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -15520,6 +15707,20 @@ func (x *fastReflection_MsgBuy_Order) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x3a + } if len(x.RetirementLocation) > 0 { i -= len(x.RetirementLocation) copy(dAtA[i:], x.RetirementLocation) @@ -15807,6 +16008,42 @@ func (x *fastReflection_MsgBuy_Order) ProtoMethods() *protoiface.Methods { } x.RetirementLocation = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -24085,6 +24322,9 @@ type MsgSell_Order struct { // buyer to disable auto-retirement in their buy order enabling them to // resell the credits to another buyer. DisableAutoRetire bool `protobuf:"varint,4,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *MsgSell_Order) Reset() { @@ -24135,6 +24375,13 @@ func (x *MsgSell_Order) GetDisableAutoRetire() bool { return false } +func (x *MsgSell_Order) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // Update is an update to an existing sell order. type MsgUpdateSellOrders_Update struct { state protoimpl.MessageState @@ -24150,6 +24397,9 @@ type MsgUpdateSellOrders_Update struct { NewAskPrice *v1beta1.Coin `protobuf:"bytes,3,opt,name=new_ask_price,json=newAskPrice,proto3" json:"new_ask_price,omitempty"` // disable_auto_retire updates the disable_auto_retire field in the sell order. DisableAutoRetire bool `protobuf:"varint,4,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // new_expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + NewExpiration *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=new_expiration,json=newExpiration,proto3" json:"new_expiration,omitempty"` } func (x *MsgUpdateSellOrders_Update) Reset() { @@ -24200,6 +24450,13 @@ func (x *MsgUpdateSellOrders_Update) GetDisableAutoRetire() bool { return false } +func (x *MsgUpdateSellOrders_Update) GetNewExpiration() *timestamppb.Timestamp { + if x != nil { + return x.NewExpiration + } + return nil +} + // Order is a buy order. type MsgBuy_Order struct { state protoimpl.MessageState @@ -24229,6 +24486,9 @@ type MsgBuy_Order struct { // retirement_location is the optional retirement location for the credits // which will be used only if disable_auto_retire is false. RetirementLocation string `protobuf:"bytes,6,opt,name=retirement_location,json=retirementLocation,proto3" json:"retirement_location,omitempty"` + // expiration is the optional timestamp when the buy order expires. When the + // expiration time is reached, the buy order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *MsgBuy_Order) Reset() { @@ -24293,6 +24553,13 @@ func (x *MsgBuy_Order) GetRetirementLocation() string { return "" } +func (x *MsgBuy_Order) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // Selection defines a buy order selection. type MsgBuy_Order_Selection struct { state protoimpl.MessageState @@ -24502,13 +24769,13 @@ var file_regen_ecocredit_v1alpha2_tx_proto_rawDesc = []byte{ 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x20, 0x0a, 0x1e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x05, 0x4f, + 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xee, 0x01, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, @@ -24519,273 +24786,286 @@ var file_regen_ecocredit_v1alpha2_tx_proto_rawDesc = []byte{ 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x22, 0x37, 0x0a, 0x0f, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x73, 0x22, 0xbc, 0x02, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x12, 0x4e, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x1a, 0xbe, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, - 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 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, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x41, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, - 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xd9, 0x03, 0x0a, 0x06, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, - 0x75, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, - 0x72, 0x12, 0x3e, 0x0a, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, - 0x42, 0x75, 0x79, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x73, 0x1a, 0xf8, 0x02, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, - 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 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, 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, - 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, - 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, - 0x6c, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x34, 0x0a, 0x0e, - 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, - 0x0a, 0x0d, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0b, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, - 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, - 0x6f, 0x6f, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x02, - 0x0a, 0x0f, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x75, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x51, - 0x0a, 0x0f, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x52, 0x0e, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, - 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x69, - 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, - 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x3c, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, - 0x65, 0x6e, 0x6f, 0x6d, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, - 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, - 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x73, 0x22, 0x41, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, - 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6b, - 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, - 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, - 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x74, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, - 0x19, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, - 0x11, 0x4d, 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, - 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, - 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x40, 0x0a, 0x07, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, + 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 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, + 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x37, 0x0a, 0x0f, 0x4d, + 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, + 0x0a, 0x0e, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0c, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, + 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, + 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x73, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x1a, 0x87, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, + 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x51, 0x75, 0x61, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x61, 0x73, 0x6b, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 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, 0x52, 0x0b, 0x6e, 0x65, 0x77, 0x41, 0x73, 0x6b, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, + 0x69, 0x72, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 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, 0x6e, + 0x65, 0x77, 0x45, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1d, 0x0a, 0x1b, + 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9b, 0x04, 0x0a, 0x06, + 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x06, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x2f, 0x0a, - 0x13, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x74, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, - 0x0a, 0x19, 0x4d, 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xad, 0x0e, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x69, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x30, 0x2e, 0x72, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x2e, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xba, 0x03, 0x0a, + 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x2e, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 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, + 0x52, 0x08, 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x69, + 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x13, + 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, + 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x38, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, + 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x34, 0x0a, 0x0e, 0x4d, 0x73, 0x67, + 0x42, 0x75, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x62, + 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x0b, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, + 0x8c, 0x01, 0x0a, 0x10, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, + 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x6f, 0x6f, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, + 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, + 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x1a, + 0x0a, 0x18, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, + 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x0f, 0x4d, + 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x63, 0x75, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x63, 0x75, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0f, 0x62, + 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, + 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x52, 0x0e, + 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x2e, + 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, + 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x69, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x22, 0x3c, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x40, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, + 0x41, 0x0a, 0x16, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, + 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, 0x74, + 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0x0a, 0x19, 0x4d, 0x73, + 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x4d, 0x73, + 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x5f, + 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x73, + 0x6b, 0x65, 0x74, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x72, 0x65, + 0x74, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x4d, + 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xad, 0x0e, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x12, 0x69, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0d, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, - 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0b, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x69, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, - 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x53, 0x65, - 0x6e, 0x64, 0x12, 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x53, 0x65, 0x6e, 0x64, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, - 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5a, 0x0a, 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, - 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x06, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x2b, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x72, + 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x53, 0x65, 0x6e, 0x64, 0x12, + 0x21, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, + 0x6e, 0x64, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, + 0x67, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, + 0x06, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x35, 0x2e, 0x72, 0x65, - 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x06, 0x43, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x12, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, + 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, + 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x7e, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x1a, 0x37, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x81, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x38, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, - 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x38, 0x2e, 0x72, - 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, - 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x21, + 0x61, 0x73, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x04, 0x53, 0x65, 0x6c, 0x6c, 0x12, 0x21, 0x2e, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, 0x6c, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x6c, - 0x6c, 0x1a, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, - 0x53, 0x65, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x10, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, - 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x1a, - 0x35, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x03, 0x42, 0x75, 0x79, 0x12, 0x20, 0x2e, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x10, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x1a, - 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, - 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, - 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, - 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0c, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x35, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x03, 0x42, 0x75, 0x79, 0x12, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x61, 0x73, 0x6b, 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x54, - 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x1a, 0x28, 0x2e, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, + 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x75, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6f, 0x0a, 0x0d, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, + 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, - 0x74, 0x1a, 0x30, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, - 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, - 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, - 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, - 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, - 0x65, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, + 0x6e, 0x6f, 0x6d, 0x1a, 0x32, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, + 0x73, 0x67, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, + 0x65, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, - 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0e, 0x50, 0x69, 0x63, 0x6b, 0x46, - 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, - 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, + 0x73, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, + 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, 0x54, 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x1a, 0x30, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x41, 0x64, 0x64, + 0x54, 0x6f, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x72, 0x0a, 0x0e, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, + 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, + 0x67, 0x54, 0x61, 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x1a, + 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x54, 0x61, + 0x6b, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x72, 0x0a, 0x0e, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, + 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, - 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xff, 0x01, 0x0a, 0x1c, - 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, 0x07, 0x54, 0x78, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, - 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x65, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xa2, 0x02, 0x03, - 0x52, 0x45, 0x58, 0xaa, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, - 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xe2, 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x1a, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, - 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6b, 0x65, 0x74, 0x1a, 0x33, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, + 0x73, 0x67, 0x50, 0x69, 0x63, 0x6b, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xff, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, + 0xaa, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, 0x18, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xe2, 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, + 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, + 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, + 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -24864,48 +25144,51 @@ var file_regen_ecocredit_v1alpha2_tx_proto_depIdxs = []int32{ 44, // 11: regen.ecocredit.v1alpha2.MsgTakeFromBasketResponse.credits:type_name -> regen.ecocredit.v1alpha2.BasketCredit 44, // 12: regen.ecocredit.v1alpha2.MsgPickFromBasket.credits:type_name -> regen.ecocredit.v1alpha2.BasketCredit 45, // 13: regen.ecocredit.v1alpha2.MsgSell.Order.ask_price:type_name -> cosmos.base.v1beta1.Coin - 45, // 14: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_ask_price:type_name -> cosmos.base.v1beta1.Coin - 41, // 15: regen.ecocredit.v1alpha2.MsgBuy.Order.selection:type_name -> regen.ecocredit.v1alpha2.MsgBuy.Order.Selection - 45, // 16: regen.ecocredit.v1alpha2.MsgBuy.Order.bid_price:type_name -> cosmos.base.v1beta1.Coin - 0, // 17: regen.ecocredit.v1alpha2.Msg.CreateClass:input_type -> regen.ecocredit.v1alpha2.MsgCreateClass - 2, // 18: regen.ecocredit.v1alpha2.Msg.CreateProject:input_type -> regen.ecocredit.v1alpha2.MsgCreateProject - 4, // 19: regen.ecocredit.v1alpha2.Msg.CreateBatch:input_type -> regen.ecocredit.v1alpha2.MsgCreateBatch - 6, // 20: regen.ecocredit.v1alpha2.Msg.Send:input_type -> regen.ecocredit.v1alpha2.MsgSend - 8, // 21: regen.ecocredit.v1alpha2.Msg.Retire:input_type -> regen.ecocredit.v1alpha2.MsgRetire - 10, // 22: regen.ecocredit.v1alpha2.Msg.Cancel:input_type -> regen.ecocredit.v1alpha2.MsgCancel - 12, // 23: regen.ecocredit.v1alpha2.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassAdmin - 14, // 24: regen.ecocredit.v1alpha2.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassIssuers - 16, // 25: regen.ecocredit.v1alpha2.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassMetadata - 18, // 26: regen.ecocredit.v1alpha2.Msg.Sell:input_type -> regen.ecocredit.v1alpha2.MsgSell - 20, // 27: regen.ecocredit.v1alpha2.Msg.UpdateSellOrders:input_type -> regen.ecocredit.v1alpha2.MsgUpdateSellOrders - 22, // 28: regen.ecocredit.v1alpha2.Msg.Buy:input_type -> regen.ecocredit.v1alpha2.MsgBuy - 24, // 29: regen.ecocredit.v1alpha2.Msg.AllowAskDenom:input_type -> regen.ecocredit.v1alpha2.MsgAllowAskDenom - 26, // 30: regen.ecocredit.v1alpha2.Msg.CreateBasket:input_type -> regen.ecocredit.v1alpha2.MsgCreateBasket - 28, // 31: regen.ecocredit.v1alpha2.Msg.AddToBasket:input_type -> regen.ecocredit.v1alpha2.MsgAddToBasket - 30, // 32: regen.ecocredit.v1alpha2.Msg.TakeFromBasket:input_type -> regen.ecocredit.v1alpha2.MsgTakeFromBasket - 32, // 33: regen.ecocredit.v1alpha2.Msg.PickFromBasket:input_type -> regen.ecocredit.v1alpha2.MsgPickFromBasket - 1, // 34: regen.ecocredit.v1alpha2.Msg.CreateClass:output_type -> regen.ecocredit.v1alpha2.MsgCreateClassResponse - 3, // 35: regen.ecocredit.v1alpha2.Msg.CreateProject:output_type -> regen.ecocredit.v1alpha2.MsgCreateProjectResponse - 5, // 36: regen.ecocredit.v1alpha2.Msg.CreateBatch:output_type -> regen.ecocredit.v1alpha2.MsgCreateBatchResponse - 7, // 37: regen.ecocredit.v1alpha2.Msg.Send:output_type -> regen.ecocredit.v1alpha2.MsgSendResponse - 9, // 38: regen.ecocredit.v1alpha2.Msg.Retire:output_type -> regen.ecocredit.v1alpha2.MsgRetireResponse - 11, // 39: regen.ecocredit.v1alpha2.Msg.Cancel:output_type -> regen.ecocredit.v1alpha2.MsgCancelResponse - 13, // 40: regen.ecocredit.v1alpha2.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassAdminResponse - 15, // 41: regen.ecocredit.v1alpha2.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassIssuersResponse - 17, // 42: regen.ecocredit.v1alpha2.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassMetadataResponse - 19, // 43: regen.ecocredit.v1alpha2.Msg.Sell:output_type -> regen.ecocredit.v1alpha2.MsgSellResponse - 21, // 44: regen.ecocredit.v1alpha2.Msg.UpdateSellOrders:output_type -> regen.ecocredit.v1alpha2.MsgUpdateSellOrdersResponse - 23, // 45: regen.ecocredit.v1alpha2.Msg.Buy:output_type -> regen.ecocredit.v1alpha2.MsgBuyResponse - 25, // 46: regen.ecocredit.v1alpha2.Msg.AllowAskDenom:output_type -> regen.ecocredit.v1alpha2.MsgAllowAskDenomResponse - 27, // 47: regen.ecocredit.v1alpha2.Msg.CreateBasket:output_type -> regen.ecocredit.v1alpha2.MsgCreateBasketResponse - 29, // 48: regen.ecocredit.v1alpha2.Msg.AddToBasket:output_type -> regen.ecocredit.v1alpha2.MsgAddToBasketResponse - 31, // 49: regen.ecocredit.v1alpha2.Msg.TakeFromBasket:output_type -> regen.ecocredit.v1alpha2.MsgTakeFromBasketResponse - 33, // 50: regen.ecocredit.v1alpha2.Msg.PickFromBasket:output_type -> regen.ecocredit.v1alpha2.MsgPickFromBasketResponse - 34, // [34:51] is the sub-list for method output_type - 17, // [17:34] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name + 42, // 14: regen.ecocredit.v1alpha2.MsgSell.Order.expiration:type_name -> google.protobuf.Timestamp + 45, // 15: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_ask_price:type_name -> cosmos.base.v1beta1.Coin + 42, // 16: regen.ecocredit.v1alpha2.MsgUpdateSellOrders.Update.new_expiration:type_name -> google.protobuf.Timestamp + 41, // 17: regen.ecocredit.v1alpha2.MsgBuy.Order.selection:type_name -> regen.ecocredit.v1alpha2.MsgBuy.Order.Selection + 45, // 18: regen.ecocredit.v1alpha2.MsgBuy.Order.bid_price:type_name -> cosmos.base.v1beta1.Coin + 42, // 19: regen.ecocredit.v1alpha2.MsgBuy.Order.expiration:type_name -> google.protobuf.Timestamp + 0, // 20: regen.ecocredit.v1alpha2.Msg.CreateClass:input_type -> regen.ecocredit.v1alpha2.MsgCreateClass + 2, // 21: regen.ecocredit.v1alpha2.Msg.CreateProject:input_type -> regen.ecocredit.v1alpha2.MsgCreateProject + 4, // 22: regen.ecocredit.v1alpha2.Msg.CreateBatch:input_type -> regen.ecocredit.v1alpha2.MsgCreateBatch + 6, // 23: regen.ecocredit.v1alpha2.Msg.Send:input_type -> regen.ecocredit.v1alpha2.MsgSend + 8, // 24: regen.ecocredit.v1alpha2.Msg.Retire:input_type -> regen.ecocredit.v1alpha2.MsgRetire + 10, // 25: regen.ecocredit.v1alpha2.Msg.Cancel:input_type -> regen.ecocredit.v1alpha2.MsgCancel + 12, // 26: regen.ecocredit.v1alpha2.Msg.UpdateClassAdmin:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassAdmin + 14, // 27: regen.ecocredit.v1alpha2.Msg.UpdateClassIssuers:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassIssuers + 16, // 28: regen.ecocredit.v1alpha2.Msg.UpdateClassMetadata:input_type -> regen.ecocredit.v1alpha2.MsgUpdateClassMetadata + 18, // 29: regen.ecocredit.v1alpha2.Msg.Sell:input_type -> regen.ecocredit.v1alpha2.MsgSell + 20, // 30: regen.ecocredit.v1alpha2.Msg.UpdateSellOrders:input_type -> regen.ecocredit.v1alpha2.MsgUpdateSellOrders + 22, // 31: regen.ecocredit.v1alpha2.Msg.Buy:input_type -> regen.ecocredit.v1alpha2.MsgBuy + 24, // 32: regen.ecocredit.v1alpha2.Msg.AllowAskDenom:input_type -> regen.ecocredit.v1alpha2.MsgAllowAskDenom + 26, // 33: regen.ecocredit.v1alpha2.Msg.CreateBasket:input_type -> regen.ecocredit.v1alpha2.MsgCreateBasket + 28, // 34: regen.ecocredit.v1alpha2.Msg.AddToBasket:input_type -> regen.ecocredit.v1alpha2.MsgAddToBasket + 30, // 35: regen.ecocredit.v1alpha2.Msg.TakeFromBasket:input_type -> regen.ecocredit.v1alpha2.MsgTakeFromBasket + 32, // 36: regen.ecocredit.v1alpha2.Msg.PickFromBasket:input_type -> regen.ecocredit.v1alpha2.MsgPickFromBasket + 1, // 37: regen.ecocredit.v1alpha2.Msg.CreateClass:output_type -> regen.ecocredit.v1alpha2.MsgCreateClassResponse + 3, // 38: regen.ecocredit.v1alpha2.Msg.CreateProject:output_type -> regen.ecocredit.v1alpha2.MsgCreateProjectResponse + 5, // 39: regen.ecocredit.v1alpha2.Msg.CreateBatch:output_type -> regen.ecocredit.v1alpha2.MsgCreateBatchResponse + 7, // 40: regen.ecocredit.v1alpha2.Msg.Send:output_type -> regen.ecocredit.v1alpha2.MsgSendResponse + 9, // 41: regen.ecocredit.v1alpha2.Msg.Retire:output_type -> regen.ecocredit.v1alpha2.MsgRetireResponse + 11, // 42: regen.ecocredit.v1alpha2.Msg.Cancel:output_type -> regen.ecocredit.v1alpha2.MsgCancelResponse + 13, // 43: regen.ecocredit.v1alpha2.Msg.UpdateClassAdmin:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassAdminResponse + 15, // 44: regen.ecocredit.v1alpha2.Msg.UpdateClassIssuers:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassIssuersResponse + 17, // 45: regen.ecocredit.v1alpha2.Msg.UpdateClassMetadata:output_type -> regen.ecocredit.v1alpha2.MsgUpdateClassMetadataResponse + 19, // 46: regen.ecocredit.v1alpha2.Msg.Sell:output_type -> regen.ecocredit.v1alpha2.MsgSellResponse + 21, // 47: regen.ecocredit.v1alpha2.Msg.UpdateSellOrders:output_type -> regen.ecocredit.v1alpha2.MsgUpdateSellOrdersResponse + 23, // 48: regen.ecocredit.v1alpha2.Msg.Buy:output_type -> regen.ecocredit.v1alpha2.MsgBuyResponse + 25, // 49: regen.ecocredit.v1alpha2.Msg.AllowAskDenom:output_type -> regen.ecocredit.v1alpha2.MsgAllowAskDenomResponse + 27, // 50: regen.ecocredit.v1alpha2.Msg.CreateBasket:output_type -> regen.ecocredit.v1alpha2.MsgCreateBasketResponse + 29, // 51: regen.ecocredit.v1alpha2.Msg.AddToBasket:output_type -> regen.ecocredit.v1alpha2.MsgAddToBasketResponse + 31, // 52: regen.ecocredit.v1alpha2.Msg.TakeFromBasket:output_type -> regen.ecocredit.v1alpha2.MsgTakeFromBasketResponse + 33, // 53: regen.ecocredit.v1alpha2.Msg.PickFromBasket:output_type -> regen.ecocredit.v1alpha2.MsgPickFromBasketResponse + 37, // [37:54] is the sub-list for method output_type + 20, // [20:37] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1alpha2_tx_proto_init() } diff --git a/api/regen/ecocredit/v1alpha2/types.pulsar.go b/api/regen/ecocredit/v1alpha2/types.pulsar.go index 2e6e52bc86..0271966948 100644 --- a/api/regen/ecocredit/v1alpha2/types.pulsar.go +++ b/api/regen/ecocredit/v1alpha2/types.pulsar.go @@ -4,7 +4,6 @@ import ( fmt "fmt" runtime "github.com/cosmos/cosmos-proto/runtime" v1beta1 "github.com/cosmos/cosmos-sdk/api/cosmos/base/v1beta1" - _ "github.com/cosmos/cosmos-sdk/api/cosmos/orm/v1alpha1" _ "github.com/gogo/protobuf/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoiface "google.golang.org/protobuf/runtime/protoiface" @@ -4212,6 +4211,7 @@ var ( fd_SellOrder_quantity protoreflect.FieldDescriptor fd_SellOrder_ask_price protoreflect.FieldDescriptor fd_SellOrder_disable_auto_retire protoreflect.FieldDescriptor + fd_SellOrder_expiration protoreflect.FieldDescriptor ) func init() { @@ -4223,6 +4223,7 @@ func init() { fd_SellOrder_quantity = md_SellOrder.Fields().ByName("quantity") fd_SellOrder_ask_price = md_SellOrder.Fields().ByName("ask_price") fd_SellOrder_disable_auto_retire = md_SellOrder.Fields().ByName("disable_auto_retire") + fd_SellOrder_expiration = md_SellOrder.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_SellOrder)(nil) @@ -4326,6 +4327,12 @@ func (x *fastReflection_SellOrder) Range(f func(protoreflect.FieldDescriptor, pr return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_SellOrder_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -4353,6 +4360,8 @@ func (x *fastReflection_SellOrder) Has(fd protoreflect.FieldDescriptor) bool { return x.AskPrice != nil case "regen.ecocredit.v1alpha2.SellOrder.disable_auto_retire": return x.DisableAutoRetire != false + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.SellOrder")) @@ -4381,6 +4390,8 @@ func (x *fastReflection_SellOrder) Clear(fd protoreflect.FieldDescriptor) { x.AskPrice = nil case "regen.ecocredit.v1alpha2.SellOrder.disable_auto_retire": x.DisableAutoRetire = false + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.SellOrder")) @@ -4415,6 +4426,9 @@ func (x *fastReflection_SellOrder) Get(descriptor protoreflect.FieldDescriptor) case "regen.ecocredit.v1alpha2.SellOrder.disable_auto_retire": value := x.DisableAutoRetire return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.SellOrder")) @@ -4447,6 +4461,8 @@ func (x *fastReflection_SellOrder) Set(fd protoreflect.FieldDescriptor, value pr x.AskPrice = value.Message().Interface().(*v1beta1.Coin) case "regen.ecocredit.v1alpha2.SellOrder.disable_auto_retire": x.DisableAutoRetire = value.Bool() + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.SellOrder")) @@ -4472,6 +4488,11 @@ func (x *fastReflection_SellOrder) Mutable(fd protoreflect.FieldDescriptor) prot x.AskPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.AskPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.SellOrder.order_id": panic(fmt.Errorf("field order_id of message regen.ecocredit.v1alpha2.SellOrder is not mutable")) case "regen.ecocredit.v1alpha2.SellOrder.owner": @@ -4508,6 +4529,9 @@ func (x *fastReflection_SellOrder) NewField(fd protoreflect.FieldDescriptor) pro return protoreflect.ValueOfMessage(m.ProtoReflect()) case "regen.ecocredit.v1alpha2.SellOrder.disable_auto_retire": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.SellOrder.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.SellOrder")) @@ -4599,6 +4623,10 @@ func (x *fastReflection_SellOrder) ProtoMethods() *protoiface.Methods { if x.DisableAutoRetire { n += 2 } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -4628,6 +4656,20 @@ func (x *fastReflection_SellOrder) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x3a + } if x.DisableAutoRetire { i-- if x.DisableAutoRetire { @@ -4898,6 +4940,42 @@ func (x *fastReflection_SellOrder) ProtoMethods() *protoiface.Methods { } } x.DisableAutoRetire = bool(v != 0) + case 7: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -4942,6 +5020,7 @@ var ( fd_BuyOrder_bid_price protoreflect.FieldDescriptor fd_BuyOrder_disable_auto_retire protoreflect.FieldDescriptor fd_BuyOrder_disable_partial_fill protoreflect.FieldDescriptor + fd_BuyOrder_expiration protoreflect.FieldDescriptor ) func init() { @@ -4954,6 +5033,7 @@ func init() { fd_BuyOrder_bid_price = md_BuyOrder.Fields().ByName("bid_price") fd_BuyOrder_disable_auto_retire = md_BuyOrder.Fields().ByName("disable_auto_retire") fd_BuyOrder_disable_partial_fill = md_BuyOrder.Fields().ByName("disable_partial_fill") + fd_BuyOrder_expiration = md_BuyOrder.Fields().ByName("expiration") } var _ protoreflect.Message = (*fastReflection_BuyOrder)(nil) @@ -5063,6 +5143,12 @@ func (x *fastReflection_BuyOrder) Range(f func(protoreflect.FieldDescriptor, pro return } } + if x.Expiration != nil { + value := protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) + if !f(fd_BuyOrder_expiration, value) { + return + } + } } // Has reports whether a field is populated. @@ -5092,6 +5178,8 @@ func (x *fastReflection_BuyOrder) Has(fd protoreflect.FieldDescriptor) bool { return x.DisableAutoRetire != false case "regen.ecocredit.v1alpha2.BuyOrder.disable_partial_fill": return x.DisablePartialFill != false + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + return x.Expiration != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.BuyOrder")) @@ -5122,6 +5210,8 @@ func (x *fastReflection_BuyOrder) Clear(fd protoreflect.FieldDescriptor) { x.DisableAutoRetire = false case "regen.ecocredit.v1alpha2.BuyOrder.disable_partial_fill": x.DisablePartialFill = false + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + x.Expiration = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.BuyOrder")) @@ -5159,6 +5249,9 @@ func (x *fastReflection_BuyOrder) Get(descriptor protoreflect.FieldDescriptor) p case "regen.ecocredit.v1alpha2.BuyOrder.disable_partial_fill": value := x.DisablePartialFill return protoreflect.ValueOfBool(value) + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + value := x.Expiration + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.BuyOrder")) @@ -5193,6 +5286,8 @@ func (x *fastReflection_BuyOrder) Set(fd protoreflect.FieldDescriptor, value pro x.DisableAutoRetire = value.Bool() case "regen.ecocredit.v1alpha2.BuyOrder.disable_partial_fill": x.DisablePartialFill = value.Bool() + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + x.Expiration = value.Message().Interface().(*timestamppb.Timestamp) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.BuyOrder")) @@ -5223,6 +5318,11 @@ func (x *fastReflection_BuyOrder) Mutable(fd protoreflect.FieldDescriptor) proto x.BidPrice = new(v1beta1.Coin) } return protoreflect.ValueOfMessage(x.BidPrice.ProtoReflect()) + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + if x.Expiration == nil { + x.Expiration = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.Expiration.ProtoReflect()) case "regen.ecocredit.v1alpha2.BuyOrder.buy_order_id": panic(fmt.Errorf("field buy_order_id of message regen.ecocredit.v1alpha2.BuyOrder is not mutable")) case "regen.ecocredit.v1alpha2.BuyOrder.buyer": @@ -5262,6 +5362,9 @@ func (x *fastReflection_BuyOrder) NewField(fd protoreflect.FieldDescriptor) prot return protoreflect.ValueOfBool(false) case "regen.ecocredit.v1alpha2.BuyOrder.disable_partial_fill": return protoreflect.ValueOfBool(false) + case "regen.ecocredit.v1alpha2.BuyOrder.expiration": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1alpha2.BuyOrder")) @@ -5356,6 +5459,10 @@ func (x *fastReflection_BuyOrder) ProtoMethods() *protoiface.Methods { if x.DisablePartialFill { n += 2 } + if x.Expiration != nil { + l = options.Size(x.Expiration) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -5385,6 +5492,20 @@ func (x *fastReflection_BuyOrder) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Expiration != nil { + encoded, err := options.Marshal(x.Expiration) + 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] = 0x42 + } if x.DisablePartialFill { i-- if x.DisablePartialFill { @@ -5696,6 +5817,42 @@ func (x *fastReflection_BuyOrder) ProtoMethods() *protoiface.Methods { } } x.DisablePartialFill = bool(v != 0) + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Expiration", 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.Expiration == nil { + x.Expiration = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Expiration); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -11046,6 +11203,9 @@ type SellOrder struct { // buyer to disable auto-retirement in their buy order enabling them to // resell the credits to another buyer. DisableAutoRetire bool `protobuf:"varint,6,opt,name=disable_auto_retire,json=disableAutoRetire,proto3" json:"disable_auto_retire,omitempty"` + // expiration is an optional timestamp when the sell order expires. When the + // expiration time is reached, the sell order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *SellOrder) Reset() { @@ -11110,6 +11270,13 @@ func (x *SellOrder) GetDisableAutoRetire() bool { return false } +func (x *SellOrder) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // BuyOrder represents the information for a buy order. type BuyOrder struct { state protoimpl.MessageState @@ -11140,6 +11307,9 @@ type BuyOrder struct { // disable_partial_fill disables the default behavior of partially filling // buy orders if the requested quantity is not available. DisablePartialFill bool `protobuf:"varint,7,opt,name=disable_partial_fill,json=disablePartialFill,proto3" json:"disable_partial_fill,omitempty"` + // expiration is the optional timestamp when the buy order expires. When the + // expiration time is reached, the buy order is removed from state. + Expiration *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=expiration,proto3" json:"expiration,omitempty"` } func (x *BuyOrder) Reset() { @@ -11211,6 +11381,13 @@ func (x *BuyOrder) GetDisablePartialFill() bool { return false } +func (x *BuyOrder) GetExpiration() *timestamppb.Timestamp { + if x != nil { + return x.Expiration + } + return nil +} + // AskDenom represents the information for an ask denom. type AskDenom struct { state protoimpl.MessageState @@ -11788,209 +11965,215 @@ var file_regen_ecocredit_v1alpha2_types_proto_rawDesc = []byte{ 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x1a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, - 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, 0x0a, - 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x73, 0x22, 0xa6, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xb3, 0x02, + 0x0a, 0x09, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x08, 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, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x08, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x75, 0x0a, - 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0x01, 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, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x46, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, - 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x22, 0x76, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, - 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, - 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x62, 0x62, - 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xe1, 0x01, 0x0a, - 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x73, 0x6b, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, - 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, - 0x22, 0xfe, 0x02, 0x0a, 0x08, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, - 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x32, 0x2e, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, - 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x08, 0x62, 0x69, 0x64, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x6c, 0x1a, 0x38, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, 0x6c, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x73, - 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, - 0x6d, 0x22, 0x61, 0x0a, 0x08, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x14, 0x0a, - 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, - 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x0c, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, - 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6a, - 0x0a, 0x0e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x22, 0x81, 0x06, 0x0a, 0x06, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x64, 0x48, 0x00, 0x52, 0x03, 0x61, 0x6e, 0x64, 0x12, - 0x35, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x65, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x75, + 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x66, + 0x65, 0x65, 0x18, 0x01, 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, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x46, 0x65, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, + 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x6c, + 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, + 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x22, 0x76, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x0a, 0x0d, 0x43, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x53, 0x65, 0x71, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x62, + 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xa3, 0x02, + 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x73, 0x6b, + 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 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, 0x52, 0x08, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, + 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x03, 0x0a, 0x08, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x12, 0x20, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x62, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x75, 0x79, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4f, 0x72, - 0x48, 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, - 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x61, 0x64, 0x6d, - 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x1a, 0x41, 0x0a, 0x03, 0x41, 0x6e, 0x64, 0x12, 0x3a, 0x0a, - 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x42, 0x75, 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x12, 0x36, 0x0a, 0x09, 0x62, 0x69, 0x64, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05, 0x20, + 0x01, 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, 0x52, 0x08, + 0x62, 0x69, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x75, + 0x74, 0x6f, 0x52, 0x65, 0x74, 0x69, 0x72, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x6c, 0x12, 0x40, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 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, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x38, 0x0a, 0x09, + 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x65, 0x6c, + 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x42, + 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x22, 0x61, 0x0a, 0x08, 0x41, 0x73, 0x6b, 0x44, 0x65, 0x6e, + 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x65, 0x78, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x0c, 0x42, 0x61, 0x73, + 0x6b, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, + 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x6a, 0x0a, 0x0e, 0x42, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x43, 0x72, 0x69, + 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x1e, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x22, + 0x81, 0x06, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x6e, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, + 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, + 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x41, 0x6e, 0x64, 0x48, 0x00, 0x52, + 0x03, 0x61, 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x02, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x4f, 0x72, 0x48, 0x00, 0x52, 0x02, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x21, 0x0a, 0x0b, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2b, 0x0a, + 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0a, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x40, 0x0a, 0x02, 0x4f, 0x72, 0x12, - 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, - 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x89, 0x01, 0x0a, 0x09, - 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, - 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x65, 0x6e, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x07, - 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x73, 0x75, 0x6d, 0x42, 0x82, - 0x02, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, - 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, - 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, - 0x32, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, - 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0x61, 0x6c, - 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xe2, - 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, - 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x1a, 0x41, 0x0a, 0x03, 0x41, + 0x6e, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x46, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x40, + 0x0a, 0x02, 0x4f, 0x72, 0x12, 0x3a, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, + 0x1a, 0x89, 0x01, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3f, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x3b, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x07, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x42, 0x05, 0x0a, 0x03, + 0x73, 0x75, 0x6d, 0x42, 0x82, 0x02, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0x42, 0x0a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, + 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, + 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, + 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, + 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, + 0x18, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x2e, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, 0x18, 0x52, 0x65, 0x67, 0x65, + 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, + 0x70, 0x68, 0x61, 0x32, 0xe2, 0x02, 0x24, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x52, 0x65, + 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, + 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12033,21 +12216,23 @@ var file_regen_ecocredit_v1alpha2_types_proto_depIdxs = []int32{ 17, // 3: regen.ecocredit.v1alpha2.Params.credit_class_fee:type_name -> cosmos.base.v1beta1.Coin 4, // 4: regen.ecocredit.v1alpha2.Params.credit_types:type_name -> regen.ecocredit.v1alpha2.CreditType 17, // 5: regen.ecocredit.v1alpha2.SellOrder.ask_price:type_name -> cosmos.base.v1beta1.Coin - 12, // 6: regen.ecocredit.v1alpha2.BuyOrder.selection:type_name -> regen.ecocredit.v1alpha2.BuyOrder.Selection - 17, // 7: regen.ecocredit.v1alpha2.BuyOrder.bid_price:type_name -> cosmos.base.v1beta1.Coin - 11, // 8: regen.ecocredit.v1alpha2.BasketCriteria.filter:type_name -> regen.ecocredit.v1alpha2.Filter - 13, // 9: regen.ecocredit.v1alpha2.Filter.and:type_name -> regen.ecocredit.v1alpha2.Filter.And - 14, // 10: regen.ecocredit.v1alpha2.Filter.or:type_name -> regen.ecocredit.v1alpha2.Filter.Or - 15, // 11: regen.ecocredit.v1alpha2.Filter.date_range:type_name -> regen.ecocredit.v1alpha2.Filter.DateRange - 11, // 12: regen.ecocredit.v1alpha2.Filter.And.filters:type_name -> regen.ecocredit.v1alpha2.Filter - 11, // 13: regen.ecocredit.v1alpha2.Filter.Or.filters:type_name -> regen.ecocredit.v1alpha2.Filter - 16, // 14: regen.ecocredit.v1alpha2.Filter.DateRange.start_date:type_name -> google.protobuf.Timestamp - 16, // 15: regen.ecocredit.v1alpha2.Filter.DateRange.end_date:type_name -> google.protobuf.Timestamp - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 16, // 6: regen.ecocredit.v1alpha2.SellOrder.expiration:type_name -> google.protobuf.Timestamp + 12, // 7: regen.ecocredit.v1alpha2.BuyOrder.selection:type_name -> regen.ecocredit.v1alpha2.BuyOrder.Selection + 17, // 8: regen.ecocredit.v1alpha2.BuyOrder.bid_price:type_name -> cosmos.base.v1beta1.Coin + 16, // 9: regen.ecocredit.v1alpha2.BuyOrder.expiration:type_name -> google.protobuf.Timestamp + 11, // 10: regen.ecocredit.v1alpha2.BasketCriteria.filter:type_name -> regen.ecocredit.v1alpha2.Filter + 13, // 11: regen.ecocredit.v1alpha2.Filter.and:type_name -> regen.ecocredit.v1alpha2.Filter.And + 14, // 12: regen.ecocredit.v1alpha2.Filter.or:type_name -> regen.ecocredit.v1alpha2.Filter.Or + 15, // 13: regen.ecocredit.v1alpha2.Filter.date_range:type_name -> regen.ecocredit.v1alpha2.Filter.DateRange + 11, // 14: regen.ecocredit.v1alpha2.Filter.And.filters:type_name -> regen.ecocredit.v1alpha2.Filter + 11, // 15: regen.ecocredit.v1alpha2.Filter.Or.filters:type_name -> regen.ecocredit.v1alpha2.Filter + 16, // 16: regen.ecocredit.v1alpha2.Filter.DateRange.start_date:type_name -> google.protobuf.Timestamp + 16, // 17: regen.ecocredit.v1alpha2.Filter.DateRange.end_date:type_name -> google.protobuf.Timestamp + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name } func init() { file_regen_ecocredit_v1alpha2_types_proto_init() } diff --git a/api/regen/ecocredit/v1beta1/state.cosmos_orm.go b/api/regen/ecocredit/v1beta1/state.cosmos_orm.go new file mode 100644 index 0000000000..0b9f4e0db1 --- /dev/null +++ b/api/regen/ecocredit/v1beta1/state.cosmos_orm.go @@ -0,0 +1,1364 @@ +// Code generated by protoc-gen-go-cosmos-orm. DO NOT EDIT. + +package ecocreditv1beta1 + +import ( + context "context" + ormdb "github.com/cosmos/cosmos-sdk/orm/model/ormdb" + ormlist "github.com/cosmos/cosmos-sdk/orm/model/ormlist" + ormtable "github.com/cosmos/cosmos-sdk/orm/model/ormtable" + ormerrors "github.com/cosmos/cosmos-sdk/orm/types/ormerrors" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" +) + +type CreditTypeStore interface { + Insert(ctx context.Context, creditType *CreditType) error + Update(ctx context.Context, creditType *CreditType) error + Save(ctx context.Context, creditType *CreditType) error + Delete(ctx context.Context, creditType *CreditType) error + Has(ctx context.Context, abbreviation string) (found bool, err error) + Get(ctx context.Context, abbreviation string) (*CreditType, error) + HasByName(ctx context.Context, name string) (found bool, err error) + GetByName(ctx context.Context, name string) (*CreditType, error) + List(ctx context.Context, prefixKey CreditTypeIndexKey, opts ...ormlist.Option) (CreditTypeIterator, error) + ListRange(ctx context.Context, from, to CreditTypeIndexKey, opts ...ormlist.Option) (CreditTypeIterator, error) + + doNotImplement() +} + +type CreditTypeIterator struct { + ormtable.Iterator +} + +func (i CreditTypeIterator) Value() (*CreditType, error) { + var creditType CreditType + err := i.UnmarshalMessage(&creditType) + return &creditType, err +} + +type CreditTypeIndexKey interface { + id() uint32 + values() []interface{} + creditTypeIndexKey() +} + +// primary key starting index.. +type CreditTypeAbbreviationIndexKey struct { + vs []interface{} +} + +func (x CreditTypeAbbreviationIndexKey) id() uint32 { return 1 } +func (x CreditTypeAbbreviationIndexKey) values() []interface{} { return x.vs } +func (x CreditTypeAbbreviationIndexKey) creditTypeIndexKey() {} + +func (this CreditTypeAbbreviationIndexKey) WithAbbreviation(abbreviation string) CreditTypeAbbreviationIndexKey { + this.vs = []interface{}{abbreviation} + return this +} + +type CreditTypeNameIndexKey struct { + vs []interface{} +} + +func (x CreditTypeNameIndexKey) id() uint32 { return 1 } +func (x CreditTypeNameIndexKey) values() []interface{} { return x.vs } +func (x CreditTypeNameIndexKey) creditTypeIndexKey() {} + +func (this CreditTypeNameIndexKey) WithName(name string) CreditTypeNameIndexKey { + this.vs = []interface{}{name} + return this +} + +type creditTypeStore struct { + table ormtable.Table +} + +func (this creditTypeStore) Insert(ctx context.Context, creditType *CreditType) error { + return this.table.Insert(ctx, creditType) +} + +func (this creditTypeStore) Update(ctx context.Context, creditType *CreditType) error { + return this.table.Update(ctx, creditType) +} + +func (this creditTypeStore) Save(ctx context.Context, creditType *CreditType) error { + return this.table.Save(ctx, creditType) +} + +func (this creditTypeStore) Delete(ctx context.Context, creditType *CreditType) error { + return this.table.Delete(ctx, creditType) +} + +func (this creditTypeStore) Has(ctx context.Context, abbreviation string) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, abbreviation) +} + +func (this creditTypeStore) Get(ctx context.Context, abbreviation string) (*CreditType, error) { + var creditType CreditType + found, err := this.table.PrimaryKey().Get(ctx, &creditType, abbreviation) + if !found { + return nil, err + } + return &creditType, err +} + +func (this creditTypeStore) HasByName(ctx context.Context, name string) (found bool, err error) { + return this.table.Has(ctx, &CreditType{ + Name: name, + }) +} + +func (this creditTypeStore) GetByName(ctx context.Context, name string) (*CreditType, error) { + creditType := &CreditType{ + Name: name, + } + found, err := this.table.Get(ctx, creditType) + if !found { + return nil, err + } + return creditType, nil +} + +func (this creditTypeStore) List(ctx context.Context, prefixKey CreditTypeIndexKey, opts ...ormlist.Option) (CreditTypeIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return CreditTypeIterator{it}, err +} + +func (this creditTypeStore) ListRange(ctx context.Context, from, to CreditTypeIndexKey, opts ...ormlist.Option) (CreditTypeIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return CreditTypeIterator{it}, err +} + +func (this creditTypeStore) doNotImplement() {} + +var _ CreditTypeStore = creditTypeStore{} + +func NewCreditTypeStore(db ormdb.ModuleDB) (CreditTypeStore, error) { + table := db.GetTable(&CreditType{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&CreditType{}).ProtoReflect().Descriptor().FullName())) + } + return creditTypeStore{table}, nil +} + +type ClassInfoStore interface { + Insert(ctx context.Context, classInfo *ClassInfo) error + Update(ctx context.Context, classInfo *ClassInfo) error + Save(ctx context.Context, classInfo *ClassInfo) error + Delete(ctx context.Context, classInfo *ClassInfo) error + Has(ctx context.Context, id uint64) (found bool, err error) + Get(ctx context.Context, id uint64) (*ClassInfo, error) + HasByName(ctx context.Context, name string) (found bool, err error) + GetByName(ctx context.Context, name string) (*ClassInfo, error) + List(ctx context.Context, prefixKey ClassInfoIndexKey, opts ...ormlist.Option) (ClassInfoIterator, error) + ListRange(ctx context.Context, from, to ClassInfoIndexKey, opts ...ormlist.Option) (ClassInfoIterator, error) + + doNotImplement() +} + +type ClassInfoIterator struct { + ormtable.Iterator +} + +func (i ClassInfoIterator) Value() (*ClassInfo, error) { + var classInfo ClassInfo + err := i.UnmarshalMessage(&classInfo) + return &classInfo, err +} + +type ClassInfoIndexKey interface { + id() uint32 + values() []interface{} + classInfoIndexKey() +} + +// primary key starting index.. +type ClassInfoIdIndexKey struct { + vs []interface{} +} + +func (x ClassInfoIdIndexKey) id() uint32 { return 2 } +func (x ClassInfoIdIndexKey) values() []interface{} { return x.vs } +func (x ClassInfoIdIndexKey) classInfoIndexKey() {} + +func (this ClassInfoIdIndexKey) WithId(id uint64) ClassInfoIdIndexKey { + this.vs = []interface{}{id} + return this +} + +type ClassInfoNameIndexKey struct { + vs []interface{} +} + +func (x ClassInfoNameIndexKey) id() uint32 { return 1 } +func (x ClassInfoNameIndexKey) values() []interface{} { return x.vs } +func (x ClassInfoNameIndexKey) classInfoIndexKey() {} + +func (this ClassInfoNameIndexKey) WithName(name string) ClassInfoNameIndexKey { + this.vs = []interface{}{name} + return this +} + +type ClassInfoAdminIndexKey struct { + vs []interface{} +} + +func (x ClassInfoAdminIndexKey) id() uint32 { return 2 } +func (x ClassInfoAdminIndexKey) values() []interface{} { return x.vs } +func (x ClassInfoAdminIndexKey) classInfoIndexKey() {} + +func (this ClassInfoAdminIndexKey) WithAdmin(admin string) ClassInfoAdminIndexKey { + this.vs = []interface{}{admin} + return this +} + +type ClassInfoCreditTypeIndexKey struct { + vs []interface{} +} + +func (x ClassInfoCreditTypeIndexKey) id() uint32 { return 3 } +func (x ClassInfoCreditTypeIndexKey) values() []interface{} { return x.vs } +func (x ClassInfoCreditTypeIndexKey) classInfoIndexKey() {} + +func (this ClassInfoCreditTypeIndexKey) WithCreditType(credit_type string) ClassInfoCreditTypeIndexKey { + this.vs = []interface{}{credit_type} + return this +} + +type classInfoStore struct { + table ormtable.Table +} + +func (this classInfoStore) Insert(ctx context.Context, classInfo *ClassInfo) error { + return this.table.Insert(ctx, classInfo) +} + +func (this classInfoStore) Update(ctx context.Context, classInfo *ClassInfo) error { + return this.table.Update(ctx, classInfo) +} + +func (this classInfoStore) Save(ctx context.Context, classInfo *ClassInfo) error { + return this.table.Save(ctx, classInfo) +} + +func (this classInfoStore) Delete(ctx context.Context, classInfo *ClassInfo) error { + return this.table.Delete(ctx, classInfo) +} + +func (this classInfoStore) Has(ctx context.Context, id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, id) +} + +func (this classInfoStore) Get(ctx context.Context, id uint64) (*ClassInfo, error) { + var classInfo ClassInfo + found, err := this.table.PrimaryKey().Get(ctx, &classInfo, id) + if !found { + return nil, err + } + return &classInfo, err +} + +func (this classInfoStore) HasByName(ctx context.Context, name string) (found bool, err error) { + return this.table.Has(ctx, &ClassInfo{ + Name: name, + }) +} + +func (this classInfoStore) GetByName(ctx context.Context, name string) (*ClassInfo, error) { + classInfo := &ClassInfo{ + Name: name, + } + found, err := this.table.Get(ctx, classInfo) + if !found { + return nil, err + } + return classInfo, nil +} + +func (this classInfoStore) List(ctx context.Context, prefixKey ClassInfoIndexKey, opts ...ormlist.Option) (ClassInfoIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return ClassInfoIterator{it}, err +} + +func (this classInfoStore) ListRange(ctx context.Context, from, to ClassInfoIndexKey, opts ...ormlist.Option) (ClassInfoIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return ClassInfoIterator{it}, err +} + +func (this classInfoStore) doNotImplement() {} + +var _ ClassInfoStore = classInfoStore{} + +func NewClassInfoStore(db ormdb.ModuleDB) (ClassInfoStore, error) { + table := db.GetTable(&ClassInfo{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ClassInfo{}).ProtoReflect().Descriptor().FullName())) + } + return classInfoStore{table}, nil +} + +type ClassIssuerStore interface { + Insert(ctx context.Context, classIssuer *ClassIssuer) error + Update(ctx context.Context, classIssuer *ClassIssuer) error + Save(ctx context.Context, classIssuer *ClassIssuer) error + Delete(ctx context.Context, classIssuer *ClassIssuer) error + Has(ctx context.Context, class_id string, issuer string) (found bool, err error) + Get(ctx context.Context, class_id string, issuer string) (*ClassIssuer, error) + List(ctx context.Context, prefixKey ClassIssuerIndexKey, opts ...ormlist.Option) (ClassIssuerIterator, error) + ListRange(ctx context.Context, from, to ClassIssuerIndexKey, opts ...ormlist.Option) (ClassIssuerIterator, error) + + doNotImplement() +} + +type ClassIssuerIterator struct { + ormtable.Iterator +} + +func (i ClassIssuerIterator) Value() (*ClassIssuer, error) { + var classIssuer ClassIssuer + err := i.UnmarshalMessage(&classIssuer) + return &classIssuer, err +} + +type ClassIssuerIndexKey interface { + id() uint32 + values() []interface{} + classIssuerIndexKey() +} + +// primary key starting index.. +type ClassIssuerClassIdIssuerIndexKey struct { + vs []interface{} +} + +func (x ClassIssuerClassIdIssuerIndexKey) id() uint32 { return 3 } +func (x ClassIssuerClassIdIssuerIndexKey) values() []interface{} { return x.vs } +func (x ClassIssuerClassIdIssuerIndexKey) classIssuerIndexKey() {} + +func (this ClassIssuerClassIdIssuerIndexKey) WithClassId(class_id string) ClassIssuerClassIdIssuerIndexKey { + this.vs = []interface{}{class_id} + return this +} + +func (this ClassIssuerClassIdIssuerIndexKey) WithClassIdIssuer(class_id string, issuer string) ClassIssuerClassIdIssuerIndexKey { + this.vs = []interface{}{class_id, issuer} + return this +} + +type classIssuerStore struct { + table ormtable.Table +} + +func (this classIssuerStore) Insert(ctx context.Context, classIssuer *ClassIssuer) error { + return this.table.Insert(ctx, classIssuer) +} + +func (this classIssuerStore) Update(ctx context.Context, classIssuer *ClassIssuer) error { + return this.table.Update(ctx, classIssuer) +} + +func (this classIssuerStore) Save(ctx context.Context, classIssuer *ClassIssuer) error { + return this.table.Save(ctx, classIssuer) +} + +func (this classIssuerStore) Delete(ctx context.Context, classIssuer *ClassIssuer) error { + return this.table.Delete(ctx, classIssuer) +} + +func (this classIssuerStore) Has(ctx context.Context, class_id string, issuer string) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, class_id, issuer) +} + +func (this classIssuerStore) Get(ctx context.Context, class_id string, issuer string) (*ClassIssuer, error) { + var classIssuer ClassIssuer + found, err := this.table.PrimaryKey().Get(ctx, &classIssuer, class_id, issuer) + if !found { + return nil, err + } + return &classIssuer, err +} + +func (this classIssuerStore) List(ctx context.Context, prefixKey ClassIssuerIndexKey, opts ...ormlist.Option) (ClassIssuerIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return ClassIssuerIterator{it}, err +} + +func (this classIssuerStore) ListRange(ctx context.Context, from, to ClassIssuerIndexKey, opts ...ormlist.Option) (ClassIssuerIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return ClassIssuerIterator{it}, err +} + +func (this classIssuerStore) doNotImplement() {} + +var _ ClassIssuerStore = classIssuerStore{} + +func NewClassIssuerStore(db ormdb.ModuleDB) (ClassIssuerStore, error) { + table := db.GetTable(&ClassIssuer{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ClassIssuer{}).ProtoReflect().Descriptor().FullName())) + } + return classIssuerStore{table}, nil +} + +type ProjectInfoStore interface { + Insert(ctx context.Context, projectInfo *ProjectInfo) error + Update(ctx context.Context, projectInfo *ProjectInfo) error + Save(ctx context.Context, projectInfo *ProjectInfo) error + Delete(ctx context.Context, projectInfo *ProjectInfo) error + Has(ctx context.Context, id uint64) (found bool, err error) + Get(ctx context.Context, id uint64) (*ProjectInfo, error) + HasByClassIdName(ctx context.Context, class_id uint64, name string) (found bool, err error) + GetByClassIdName(ctx context.Context, class_id uint64, name string) (*ProjectInfo, error) + List(ctx context.Context, prefixKey ProjectInfoIndexKey, opts ...ormlist.Option) (ProjectInfoIterator, error) + ListRange(ctx context.Context, from, to ProjectInfoIndexKey, opts ...ormlist.Option) (ProjectInfoIterator, error) + + doNotImplement() +} + +type ProjectInfoIterator struct { + ormtable.Iterator +} + +func (i ProjectInfoIterator) Value() (*ProjectInfo, error) { + var projectInfo ProjectInfo + err := i.UnmarshalMessage(&projectInfo) + return &projectInfo, err +} + +type ProjectInfoIndexKey interface { + id() uint32 + values() []interface{} + projectInfoIndexKey() +} + +// primary key starting index.. +type ProjectInfoIdIndexKey struct { + vs []interface{} +} + +func (x ProjectInfoIdIndexKey) id() uint32 { return 4 } +func (x ProjectInfoIdIndexKey) values() []interface{} { return x.vs } +func (x ProjectInfoIdIndexKey) projectInfoIndexKey() {} + +func (this ProjectInfoIdIndexKey) WithId(id uint64) ProjectInfoIdIndexKey { + this.vs = []interface{}{id} + return this +} + +type ProjectInfoClassIdNameIndexKey struct { + vs []interface{} +} + +func (x ProjectInfoClassIdNameIndexKey) id() uint32 { return 1 } +func (x ProjectInfoClassIdNameIndexKey) values() []interface{} { return x.vs } +func (x ProjectInfoClassIdNameIndexKey) projectInfoIndexKey() {} + +func (this ProjectInfoClassIdNameIndexKey) WithClassId(class_id uint64) ProjectInfoClassIdNameIndexKey { + this.vs = []interface{}{class_id} + return this +} + +func (this ProjectInfoClassIdNameIndexKey) WithClassIdName(class_id uint64, name string) ProjectInfoClassIdNameIndexKey { + this.vs = []interface{}{class_id, name} + return this +} + +type projectInfoStore struct { + table ormtable.Table +} + +func (this projectInfoStore) Insert(ctx context.Context, projectInfo *ProjectInfo) error { + return this.table.Insert(ctx, projectInfo) +} + +func (this projectInfoStore) Update(ctx context.Context, projectInfo *ProjectInfo) error { + return this.table.Update(ctx, projectInfo) +} + +func (this projectInfoStore) Save(ctx context.Context, projectInfo *ProjectInfo) error { + return this.table.Save(ctx, projectInfo) +} + +func (this projectInfoStore) Delete(ctx context.Context, projectInfo *ProjectInfo) error { + return this.table.Delete(ctx, projectInfo) +} + +func (this projectInfoStore) Has(ctx context.Context, id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, id) +} + +func (this projectInfoStore) Get(ctx context.Context, id uint64) (*ProjectInfo, error) { + var projectInfo ProjectInfo + found, err := this.table.PrimaryKey().Get(ctx, &projectInfo, id) + if !found { + return nil, err + } + return &projectInfo, err +} + +func (this projectInfoStore) HasByClassIdName(ctx context.Context, class_id uint64, name string) (found bool, err error) { + return this.table.Has(ctx, &ProjectInfo{ + ClassId: class_id, + Name: name, + }) +} + +func (this projectInfoStore) GetByClassIdName(ctx context.Context, class_id uint64, name string) (*ProjectInfo, error) { + projectInfo := &ProjectInfo{ + ClassId: class_id, + Name: name, + } + found, err := this.table.Get(ctx, projectInfo) + if !found { + return nil, err + } + return projectInfo, nil +} + +func (this projectInfoStore) List(ctx context.Context, prefixKey ProjectInfoIndexKey, opts ...ormlist.Option) (ProjectInfoIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return ProjectInfoIterator{it}, err +} + +func (this projectInfoStore) ListRange(ctx context.Context, from, to ProjectInfoIndexKey, opts ...ormlist.Option) (ProjectInfoIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return ProjectInfoIterator{it}, err +} + +func (this projectInfoStore) doNotImplement() {} + +var _ ProjectInfoStore = projectInfoStore{} + +func NewProjectInfoStore(db ormdb.ModuleDB) (ProjectInfoStore, error) { + table := db.GetTable(&ProjectInfo{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ProjectInfo{}).ProtoReflect().Descriptor().FullName())) + } + return projectInfoStore{table}, nil +} + +type BatchInfoStore interface { + Insert(ctx context.Context, batchInfo *BatchInfo) error + Update(ctx context.Context, batchInfo *BatchInfo) error + Save(ctx context.Context, batchInfo *BatchInfo) error + Delete(ctx context.Context, batchInfo *BatchInfo) error + Has(ctx context.Context, id uint64) (found bool, err error) + Get(ctx context.Context, id uint64) (*BatchInfo, error) + HasByBatchDenom(ctx context.Context, batch_denom string) (found bool, err error) + GetByBatchDenom(ctx context.Context, batch_denom string) (*BatchInfo, error) + List(ctx context.Context, prefixKey BatchInfoIndexKey, opts ...ormlist.Option) (BatchInfoIterator, error) + ListRange(ctx context.Context, from, to BatchInfoIndexKey, opts ...ormlist.Option) (BatchInfoIterator, error) + + doNotImplement() +} + +type BatchInfoIterator struct { + ormtable.Iterator +} + +func (i BatchInfoIterator) Value() (*BatchInfo, error) { + var batchInfo BatchInfo + err := i.UnmarshalMessage(&batchInfo) + return &batchInfo, err +} + +type BatchInfoIndexKey interface { + id() uint32 + values() []interface{} + batchInfoIndexKey() +} + +// primary key starting index.. +type BatchInfoIdIndexKey struct { + vs []interface{} +} + +func (x BatchInfoIdIndexKey) id() uint32 { return 5 } +func (x BatchInfoIdIndexKey) values() []interface{} { return x.vs } +func (x BatchInfoIdIndexKey) batchInfoIndexKey() {} + +func (this BatchInfoIdIndexKey) WithId(id uint64) BatchInfoIdIndexKey { + this.vs = []interface{}{id} + return this +} + +type BatchInfoBatchDenomIndexKey struct { + vs []interface{} +} + +func (x BatchInfoBatchDenomIndexKey) id() uint32 { return 1 } +func (x BatchInfoBatchDenomIndexKey) values() []interface{} { return x.vs } +func (x BatchInfoBatchDenomIndexKey) batchInfoIndexKey() {} + +func (this BatchInfoBatchDenomIndexKey) WithBatchDenom(batch_denom string) BatchInfoBatchDenomIndexKey { + this.vs = []interface{}{batch_denom} + return this +} + +type BatchInfoProjectIdIndexKey struct { + vs []interface{} +} + +func (x BatchInfoProjectIdIndexKey) id() uint32 { return 2 } +func (x BatchInfoProjectIdIndexKey) values() []interface{} { return x.vs } +func (x BatchInfoProjectIdIndexKey) batchInfoIndexKey() {} + +func (this BatchInfoProjectIdIndexKey) WithProjectId(project_id uint64) BatchInfoProjectIdIndexKey { + this.vs = []interface{}{project_id} + return this +} + +type BatchInfoStartDateIndexKey struct { + vs []interface{} +} + +func (x BatchInfoStartDateIndexKey) id() uint32 { return 3 } +func (x BatchInfoStartDateIndexKey) values() []interface{} { return x.vs } +func (x BatchInfoStartDateIndexKey) batchInfoIndexKey() {} + +func (this BatchInfoStartDateIndexKey) WithStartDate(start_date *timestamppb.Timestamp) BatchInfoStartDateIndexKey { + this.vs = []interface{}{start_date} + return this +} + +type batchInfoStore struct { + table ormtable.Table +} + +func (this batchInfoStore) Insert(ctx context.Context, batchInfo *BatchInfo) error { + return this.table.Insert(ctx, batchInfo) +} + +func (this batchInfoStore) Update(ctx context.Context, batchInfo *BatchInfo) error { + return this.table.Update(ctx, batchInfo) +} + +func (this batchInfoStore) Save(ctx context.Context, batchInfo *BatchInfo) error { + return this.table.Save(ctx, batchInfo) +} + +func (this batchInfoStore) Delete(ctx context.Context, batchInfo *BatchInfo) error { + return this.table.Delete(ctx, batchInfo) +} + +func (this batchInfoStore) Has(ctx context.Context, id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, id) +} + +func (this batchInfoStore) Get(ctx context.Context, id uint64) (*BatchInfo, error) { + var batchInfo BatchInfo + found, err := this.table.PrimaryKey().Get(ctx, &batchInfo, id) + if !found { + return nil, err + } + return &batchInfo, err +} + +func (this batchInfoStore) HasByBatchDenom(ctx context.Context, batch_denom string) (found bool, err error) { + return this.table.Has(ctx, &BatchInfo{ + BatchDenom: batch_denom, + }) +} + +func (this batchInfoStore) GetByBatchDenom(ctx context.Context, batch_denom string) (*BatchInfo, error) { + batchInfo := &BatchInfo{ + BatchDenom: batch_denom, + } + found, err := this.table.Get(ctx, batchInfo) + if !found { + return nil, err + } + return batchInfo, nil +} + +func (this batchInfoStore) List(ctx context.Context, prefixKey BatchInfoIndexKey, opts ...ormlist.Option) (BatchInfoIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BatchInfoIterator{it}, err +} + +func (this batchInfoStore) ListRange(ctx context.Context, from, to BatchInfoIndexKey, opts ...ormlist.Option) (BatchInfoIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BatchInfoIterator{it}, err +} + +func (this batchInfoStore) doNotImplement() {} + +var _ BatchInfoStore = batchInfoStore{} + +func NewBatchInfoStore(db ormdb.ModuleDB) (BatchInfoStore, error) { + table := db.GetTable(&BatchInfo{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BatchInfo{}).ProtoReflect().Descriptor().FullName())) + } + return batchInfoStore{table}, nil +} + +type ClassSequenceStore interface { + Insert(ctx context.Context, classSequence *ClassSequence) error + Update(ctx context.Context, classSequence *ClassSequence) error + Save(ctx context.Context, classSequence *ClassSequence) error + Delete(ctx context.Context, classSequence *ClassSequence) error + Has(ctx context.Context, credit_type string) (found bool, err error) + Get(ctx context.Context, credit_type string) (*ClassSequence, error) + List(ctx context.Context, prefixKey ClassSequenceIndexKey, opts ...ormlist.Option) (ClassSequenceIterator, error) + ListRange(ctx context.Context, from, to ClassSequenceIndexKey, opts ...ormlist.Option) (ClassSequenceIterator, error) + + doNotImplement() +} + +type ClassSequenceIterator struct { + ormtable.Iterator +} + +func (i ClassSequenceIterator) Value() (*ClassSequence, error) { + var classSequence ClassSequence + err := i.UnmarshalMessage(&classSequence) + return &classSequence, err +} + +type ClassSequenceIndexKey interface { + id() uint32 + values() []interface{} + classSequenceIndexKey() +} + +// primary key starting index.. +type ClassSequenceCreditTypeIndexKey struct { + vs []interface{} +} + +func (x ClassSequenceCreditTypeIndexKey) id() uint32 { return 6 } +func (x ClassSequenceCreditTypeIndexKey) values() []interface{} { return x.vs } +func (x ClassSequenceCreditTypeIndexKey) classSequenceIndexKey() {} + +func (this ClassSequenceCreditTypeIndexKey) WithCreditType(credit_type string) ClassSequenceCreditTypeIndexKey { + this.vs = []interface{}{credit_type} + return this +} + +type classSequenceStore struct { + table ormtable.Table +} + +func (this classSequenceStore) Insert(ctx context.Context, classSequence *ClassSequence) error { + return this.table.Insert(ctx, classSequence) +} + +func (this classSequenceStore) Update(ctx context.Context, classSequence *ClassSequence) error { + return this.table.Update(ctx, classSequence) +} + +func (this classSequenceStore) Save(ctx context.Context, classSequence *ClassSequence) error { + return this.table.Save(ctx, classSequence) +} + +func (this classSequenceStore) Delete(ctx context.Context, classSequence *ClassSequence) error { + return this.table.Delete(ctx, classSequence) +} + +func (this classSequenceStore) Has(ctx context.Context, credit_type string) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, credit_type) +} + +func (this classSequenceStore) Get(ctx context.Context, credit_type string) (*ClassSequence, error) { + var classSequence ClassSequence + found, err := this.table.PrimaryKey().Get(ctx, &classSequence, credit_type) + if !found { + return nil, err + } + return &classSequence, err +} + +func (this classSequenceStore) List(ctx context.Context, prefixKey ClassSequenceIndexKey, opts ...ormlist.Option) (ClassSequenceIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return ClassSequenceIterator{it}, err +} + +func (this classSequenceStore) ListRange(ctx context.Context, from, to ClassSequenceIndexKey, opts ...ormlist.Option) (ClassSequenceIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return ClassSequenceIterator{it}, err +} + +func (this classSequenceStore) doNotImplement() {} + +var _ ClassSequenceStore = classSequenceStore{} + +func NewClassSequenceStore(db ormdb.ModuleDB) (ClassSequenceStore, error) { + table := db.GetTable(&ClassSequence{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ClassSequence{}).ProtoReflect().Descriptor().FullName())) + } + return classSequenceStore{table}, nil +} + +type ProjectSequenceStore interface { + Insert(ctx context.Context, projectSequence *ProjectSequence) error + Update(ctx context.Context, projectSequence *ProjectSequence) error + Save(ctx context.Context, projectSequence *ProjectSequence) error + Delete(ctx context.Context, projectSequence *ProjectSequence) error + Has(ctx context.Context, class_id uint64) (found bool, err error) + Get(ctx context.Context, class_id uint64) (*ProjectSequence, error) + List(ctx context.Context, prefixKey ProjectSequenceIndexKey, opts ...ormlist.Option) (ProjectSequenceIterator, error) + ListRange(ctx context.Context, from, to ProjectSequenceIndexKey, opts ...ormlist.Option) (ProjectSequenceIterator, error) + + doNotImplement() +} + +type ProjectSequenceIterator struct { + ormtable.Iterator +} + +func (i ProjectSequenceIterator) Value() (*ProjectSequence, error) { + var projectSequence ProjectSequence + err := i.UnmarshalMessage(&projectSequence) + return &projectSequence, err +} + +type ProjectSequenceIndexKey interface { + id() uint32 + values() []interface{} + projectSequenceIndexKey() +} + +// primary key starting index.. +type ProjectSequenceClassIdIndexKey struct { + vs []interface{} +} + +func (x ProjectSequenceClassIdIndexKey) id() uint32 { return 7 } +func (x ProjectSequenceClassIdIndexKey) values() []interface{} { return x.vs } +func (x ProjectSequenceClassIdIndexKey) projectSequenceIndexKey() {} + +func (this ProjectSequenceClassIdIndexKey) WithClassId(class_id uint64) ProjectSequenceClassIdIndexKey { + this.vs = []interface{}{class_id} + return this +} + +type projectSequenceStore struct { + table ormtable.Table +} + +func (this projectSequenceStore) Insert(ctx context.Context, projectSequence *ProjectSequence) error { + return this.table.Insert(ctx, projectSequence) +} + +func (this projectSequenceStore) Update(ctx context.Context, projectSequence *ProjectSequence) error { + return this.table.Update(ctx, projectSequence) +} + +func (this projectSequenceStore) Save(ctx context.Context, projectSequence *ProjectSequence) error { + return this.table.Save(ctx, projectSequence) +} + +func (this projectSequenceStore) Delete(ctx context.Context, projectSequence *ProjectSequence) error { + return this.table.Delete(ctx, projectSequence) +} + +func (this projectSequenceStore) Has(ctx context.Context, class_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, class_id) +} + +func (this projectSequenceStore) Get(ctx context.Context, class_id uint64) (*ProjectSequence, error) { + var projectSequence ProjectSequence + found, err := this.table.PrimaryKey().Get(ctx, &projectSequence, class_id) + if !found { + return nil, err + } + return &projectSequence, err +} + +func (this projectSequenceStore) List(ctx context.Context, prefixKey ProjectSequenceIndexKey, opts ...ormlist.Option) (ProjectSequenceIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return ProjectSequenceIterator{it}, err +} + +func (this projectSequenceStore) ListRange(ctx context.Context, from, to ProjectSequenceIndexKey, opts ...ormlist.Option) (ProjectSequenceIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return ProjectSequenceIterator{it}, err +} + +func (this projectSequenceStore) doNotImplement() {} + +var _ ProjectSequenceStore = projectSequenceStore{} + +func NewProjectSequenceStore(db ormdb.ModuleDB) (ProjectSequenceStore, error) { + table := db.GetTable(&ProjectSequence{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&ProjectSequence{}).ProtoReflect().Descriptor().FullName())) + } + return projectSequenceStore{table}, nil +} + +type BatchSequenceStore interface { + Insert(ctx context.Context, batchSequence *BatchSequence) error + Update(ctx context.Context, batchSequence *BatchSequence) error + Save(ctx context.Context, batchSequence *BatchSequence) error + Delete(ctx context.Context, batchSequence *BatchSequence) error + Has(ctx context.Context, project_id string) (found bool, err error) + Get(ctx context.Context, project_id string) (*BatchSequence, error) + List(ctx context.Context, prefixKey BatchSequenceIndexKey, opts ...ormlist.Option) (BatchSequenceIterator, error) + ListRange(ctx context.Context, from, to BatchSequenceIndexKey, opts ...ormlist.Option) (BatchSequenceIterator, error) + + doNotImplement() +} + +type BatchSequenceIterator struct { + ormtable.Iterator +} + +func (i BatchSequenceIterator) Value() (*BatchSequence, error) { + var batchSequence BatchSequence + err := i.UnmarshalMessage(&batchSequence) + return &batchSequence, err +} + +type BatchSequenceIndexKey interface { + id() uint32 + values() []interface{} + batchSequenceIndexKey() +} + +// primary key starting index.. +type BatchSequenceProjectIdIndexKey struct { + vs []interface{} +} + +func (x BatchSequenceProjectIdIndexKey) id() uint32 { return 8 } +func (x BatchSequenceProjectIdIndexKey) values() []interface{} { return x.vs } +func (x BatchSequenceProjectIdIndexKey) batchSequenceIndexKey() {} + +func (this BatchSequenceProjectIdIndexKey) WithProjectId(project_id string) BatchSequenceProjectIdIndexKey { + this.vs = []interface{}{project_id} + return this +} + +type batchSequenceStore struct { + table ormtable.Table +} + +func (this batchSequenceStore) Insert(ctx context.Context, batchSequence *BatchSequence) error { + return this.table.Insert(ctx, batchSequence) +} + +func (this batchSequenceStore) Update(ctx context.Context, batchSequence *BatchSequence) error { + return this.table.Update(ctx, batchSequence) +} + +func (this batchSequenceStore) Save(ctx context.Context, batchSequence *BatchSequence) error { + return this.table.Save(ctx, batchSequence) +} + +func (this batchSequenceStore) Delete(ctx context.Context, batchSequence *BatchSequence) error { + return this.table.Delete(ctx, batchSequence) +} + +func (this batchSequenceStore) Has(ctx context.Context, project_id string) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, project_id) +} + +func (this batchSequenceStore) Get(ctx context.Context, project_id string) (*BatchSequence, error) { + var batchSequence BatchSequence + found, err := this.table.PrimaryKey().Get(ctx, &batchSequence, project_id) + if !found { + return nil, err + } + return &batchSequence, err +} + +func (this batchSequenceStore) List(ctx context.Context, prefixKey BatchSequenceIndexKey, opts ...ormlist.Option) (BatchSequenceIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BatchSequenceIterator{it}, err +} + +func (this batchSequenceStore) ListRange(ctx context.Context, from, to BatchSequenceIndexKey, opts ...ormlist.Option) (BatchSequenceIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BatchSequenceIterator{it}, err +} + +func (this batchSequenceStore) doNotImplement() {} + +var _ BatchSequenceStore = batchSequenceStore{} + +func NewBatchSequenceStore(db ormdb.ModuleDB) (BatchSequenceStore, error) { + table := db.GetTable(&BatchSequence{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BatchSequence{}).ProtoReflect().Descriptor().FullName())) + } + return batchSequenceStore{table}, nil +} + +type BatchBalanceStore interface { + Insert(ctx context.Context, batchBalance *BatchBalance) error + Update(ctx context.Context, batchBalance *BatchBalance) error + Save(ctx context.Context, batchBalance *BatchBalance) error + Delete(ctx context.Context, batchBalance *BatchBalance) error + Has(ctx context.Context, address []byte, batch_id uint64) (found bool, err error) + Get(ctx context.Context, address []byte, batch_id uint64) (*BatchBalance, error) + List(ctx context.Context, prefixKey BatchBalanceIndexKey, opts ...ormlist.Option) (BatchBalanceIterator, error) + ListRange(ctx context.Context, from, to BatchBalanceIndexKey, opts ...ormlist.Option) (BatchBalanceIterator, error) + + doNotImplement() +} + +type BatchBalanceIterator struct { + ormtable.Iterator +} + +func (i BatchBalanceIterator) Value() (*BatchBalance, error) { + var batchBalance BatchBalance + err := i.UnmarshalMessage(&batchBalance) + return &batchBalance, err +} + +type BatchBalanceIndexKey interface { + id() uint32 + values() []interface{} + batchBalanceIndexKey() +} + +// primary key starting index.. +type BatchBalanceAddressBatchIdIndexKey struct { + vs []interface{} +} + +func (x BatchBalanceAddressBatchIdIndexKey) id() uint32 { return 9 } +func (x BatchBalanceAddressBatchIdIndexKey) values() []interface{} { return x.vs } +func (x BatchBalanceAddressBatchIdIndexKey) batchBalanceIndexKey() {} + +func (this BatchBalanceAddressBatchIdIndexKey) WithAddress(address []byte) BatchBalanceAddressBatchIdIndexKey { + this.vs = []interface{}{address} + return this +} + +func (this BatchBalanceAddressBatchIdIndexKey) WithAddressBatchId(address []byte, batch_id uint64) BatchBalanceAddressBatchIdIndexKey { + this.vs = []interface{}{address, batch_id} + return this +} + +type BatchBalanceBatchIdAddressIndexKey struct { + vs []interface{} +} + +func (x BatchBalanceBatchIdAddressIndexKey) id() uint32 { return 1 } +func (x BatchBalanceBatchIdAddressIndexKey) values() []interface{} { return x.vs } +func (x BatchBalanceBatchIdAddressIndexKey) batchBalanceIndexKey() {} + +func (this BatchBalanceBatchIdAddressIndexKey) WithBatchId(batch_id uint64) BatchBalanceBatchIdAddressIndexKey { + this.vs = []interface{}{batch_id} + return this +} + +func (this BatchBalanceBatchIdAddressIndexKey) WithBatchIdAddress(batch_id uint64, address []byte) BatchBalanceBatchIdAddressIndexKey { + this.vs = []interface{}{batch_id, address} + return this +} + +type batchBalanceStore struct { + table ormtable.Table +} + +func (this batchBalanceStore) Insert(ctx context.Context, batchBalance *BatchBalance) error { + return this.table.Insert(ctx, batchBalance) +} + +func (this batchBalanceStore) Update(ctx context.Context, batchBalance *BatchBalance) error { + return this.table.Update(ctx, batchBalance) +} + +func (this batchBalanceStore) Save(ctx context.Context, batchBalance *BatchBalance) error { + return this.table.Save(ctx, batchBalance) +} + +func (this batchBalanceStore) Delete(ctx context.Context, batchBalance *BatchBalance) error { + return this.table.Delete(ctx, batchBalance) +} + +func (this batchBalanceStore) Has(ctx context.Context, address []byte, batch_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, address, batch_id) +} + +func (this batchBalanceStore) Get(ctx context.Context, address []byte, batch_id uint64) (*BatchBalance, error) { + var batchBalance BatchBalance + found, err := this.table.PrimaryKey().Get(ctx, &batchBalance, address, batch_id) + if !found { + return nil, err + } + return &batchBalance, err +} + +func (this batchBalanceStore) List(ctx context.Context, prefixKey BatchBalanceIndexKey, opts ...ormlist.Option) (BatchBalanceIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BatchBalanceIterator{it}, err +} + +func (this batchBalanceStore) ListRange(ctx context.Context, from, to BatchBalanceIndexKey, opts ...ormlist.Option) (BatchBalanceIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BatchBalanceIterator{it}, err +} + +func (this batchBalanceStore) doNotImplement() {} + +var _ BatchBalanceStore = batchBalanceStore{} + +func NewBatchBalanceStore(db ormdb.ModuleDB) (BatchBalanceStore, error) { + table := db.GetTable(&BatchBalance{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BatchBalance{}).ProtoReflect().Descriptor().FullName())) + } + return batchBalanceStore{table}, nil +} + +type BatchSupplyStore interface { + Insert(ctx context.Context, batchSupply *BatchSupply) error + Update(ctx context.Context, batchSupply *BatchSupply) error + Save(ctx context.Context, batchSupply *BatchSupply) error + Delete(ctx context.Context, batchSupply *BatchSupply) error + Has(ctx context.Context, batch_id uint64) (found bool, err error) + Get(ctx context.Context, batch_id uint64) (*BatchSupply, error) + List(ctx context.Context, prefixKey BatchSupplyIndexKey, opts ...ormlist.Option) (BatchSupplyIterator, error) + ListRange(ctx context.Context, from, to BatchSupplyIndexKey, opts ...ormlist.Option) (BatchSupplyIterator, error) + + doNotImplement() +} + +type BatchSupplyIterator struct { + ormtable.Iterator +} + +func (i BatchSupplyIterator) Value() (*BatchSupply, error) { + var batchSupply BatchSupply + err := i.UnmarshalMessage(&batchSupply) + return &batchSupply, err +} + +type BatchSupplyIndexKey interface { + id() uint32 + values() []interface{} + batchSupplyIndexKey() +} + +// primary key starting index.. +type BatchSupplyBatchIdIndexKey struct { + vs []interface{} +} + +func (x BatchSupplyBatchIdIndexKey) id() uint32 { return 10 } +func (x BatchSupplyBatchIdIndexKey) values() []interface{} { return x.vs } +func (x BatchSupplyBatchIdIndexKey) batchSupplyIndexKey() {} + +func (this BatchSupplyBatchIdIndexKey) WithBatchId(batch_id uint64) BatchSupplyBatchIdIndexKey { + this.vs = []interface{}{batch_id} + return this +} + +type batchSupplyStore struct { + table ormtable.Table +} + +func (this batchSupplyStore) Insert(ctx context.Context, batchSupply *BatchSupply) error { + return this.table.Insert(ctx, batchSupply) +} + +func (this batchSupplyStore) Update(ctx context.Context, batchSupply *BatchSupply) error { + return this.table.Update(ctx, batchSupply) +} + +func (this batchSupplyStore) Save(ctx context.Context, batchSupply *BatchSupply) error { + return this.table.Save(ctx, batchSupply) +} + +func (this batchSupplyStore) Delete(ctx context.Context, batchSupply *BatchSupply) error { + return this.table.Delete(ctx, batchSupply) +} + +func (this batchSupplyStore) Has(ctx context.Context, batch_id uint64) (found bool, err error) { + return this.table.PrimaryKey().Has(ctx, batch_id) +} + +func (this batchSupplyStore) Get(ctx context.Context, batch_id uint64) (*BatchSupply, error) { + var batchSupply BatchSupply + found, err := this.table.PrimaryKey().Get(ctx, &batchSupply, batch_id) + if !found { + return nil, err + } + return &batchSupply, err +} + +func (this batchSupplyStore) List(ctx context.Context, prefixKey BatchSupplyIndexKey, opts ...ormlist.Option) (BatchSupplyIterator, error) { + opts = append(opts, ormlist.Prefix(prefixKey.values())) + it, err := this.table.GetIndexByID(prefixKey.id()).Iterator(ctx, opts...) + return BatchSupplyIterator{it}, err +} + +func (this batchSupplyStore) ListRange(ctx context.Context, from, to BatchSupplyIndexKey, opts ...ormlist.Option) (BatchSupplyIterator, error) { + opts = append(opts, ormlist.Start(from.values()), ormlist.End(to)) + it, err := this.table.GetIndexByID(from.id()).Iterator(ctx, opts...) + return BatchSupplyIterator{it}, err +} + +func (this batchSupplyStore) doNotImplement() {} + +var _ BatchSupplyStore = batchSupplyStore{} + +func NewBatchSupplyStore(db ormdb.ModuleDB) (BatchSupplyStore, error) { + table := db.GetTable(&BatchSupply{}) + if table == nil { + return nil, ormerrors.TableNotFound.Wrap(string((&BatchSupply{}).ProtoReflect().Descriptor().FullName())) + } + return batchSupplyStore{table}, nil +} + +type StateStore interface { + CreditTypeStore() CreditTypeStore + ClassInfoStore() ClassInfoStore + ClassIssuerStore() ClassIssuerStore + ProjectInfoStore() ProjectInfoStore + BatchInfoStore() BatchInfoStore + ClassSequenceStore() ClassSequenceStore + ProjectSequenceStore() ProjectSequenceStore + BatchSequenceStore() BatchSequenceStore + BatchBalanceStore() BatchBalanceStore + BatchSupplyStore() BatchSupplyStore + + doNotImplement() +} + +type stateStore struct { + creditType CreditTypeStore + classInfo ClassInfoStore + classIssuer ClassIssuerStore + projectInfo ProjectInfoStore + batchInfo BatchInfoStore + classSequence ClassSequenceStore + projectSequence ProjectSequenceStore + batchSequence BatchSequenceStore + batchBalance BatchBalanceStore + batchSupply BatchSupplyStore +} + +func (x stateStore) CreditTypeStore() CreditTypeStore { + return x.creditType +} + +func (x stateStore) ClassInfoStore() ClassInfoStore { + return x.classInfo +} + +func (x stateStore) ClassIssuerStore() ClassIssuerStore { + return x.classIssuer +} + +func (x stateStore) ProjectInfoStore() ProjectInfoStore { + return x.projectInfo +} + +func (x stateStore) BatchInfoStore() BatchInfoStore { + return x.batchInfo +} + +func (x stateStore) ClassSequenceStore() ClassSequenceStore { + return x.classSequence +} + +func (x stateStore) ProjectSequenceStore() ProjectSequenceStore { + return x.projectSequence +} + +func (x stateStore) BatchSequenceStore() BatchSequenceStore { + return x.batchSequence +} + +func (x stateStore) BatchBalanceStore() BatchBalanceStore { + return x.batchBalance +} + +func (x stateStore) BatchSupplyStore() BatchSupplyStore { + return x.batchSupply +} + +func (stateStore) doNotImplement() {} + +var _ StateStore = stateStore{} + +func NewStateStore(db ormdb.ModuleDB) (StateStore, error) { + creditTypeStore, err := NewCreditTypeStore(db) + if err != nil { + return nil, err + } + + classInfoStore, err := NewClassInfoStore(db) + if err != nil { + return nil, err + } + + classIssuerStore, err := NewClassIssuerStore(db) + if err != nil { + return nil, err + } + + projectInfoStore, err := NewProjectInfoStore(db) + if err != nil { + return nil, err + } + + batchInfoStore, err := NewBatchInfoStore(db) + if err != nil { + return nil, err + } + + classSequenceStore, err := NewClassSequenceStore(db) + if err != nil { + return nil, err + } + + projectSequenceStore, err := NewProjectSequenceStore(db) + if err != nil { + return nil, err + } + + batchSequenceStore, err := NewBatchSequenceStore(db) + if err != nil { + return nil, err + } + + batchBalanceStore, err := NewBatchBalanceStore(db) + if err != nil { + return nil, err + } + + batchSupplyStore, err := NewBatchSupplyStore(db) + if err != nil { + return nil, err + } + + return stateStore{ + creditTypeStore, + classInfoStore, + classIssuerStore, + projectInfoStore, + batchInfoStore, + classSequenceStore, + projectSequenceStore, + batchSequenceStore, + batchBalanceStore, + batchSupplyStore, + }, nil +} diff --git a/api/regen/ecocredit/v1beta1/state.pulsar.go b/api/regen/ecocredit/v1beta1/state.pulsar.go index ec109cc5de..00bad729f0 100644 --- a/api/regen/ecocredit/v1beta1/state.pulsar.go +++ b/api/regen/ecocredit/v1beta1/state.pulsar.go @@ -7,6 +7,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" io "io" reflect "reflect" sync "sync" @@ -14,8 +15,8 @@ import ( var ( md_CreditType protoreflect.MessageDescriptor - fd_CreditType_name protoreflect.FieldDescriptor fd_CreditType_abbreviation protoreflect.FieldDescriptor + fd_CreditType_name protoreflect.FieldDescriptor fd_CreditType_unit protoreflect.FieldDescriptor fd_CreditType_precision protoreflect.FieldDescriptor ) @@ -23,8 +24,8 @@ var ( func init() { file_regen_ecocredit_v1beta1_state_proto_init() md_CreditType = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("CreditType") - fd_CreditType_name = md_CreditType.Fields().ByName("name") fd_CreditType_abbreviation = md_CreditType.Fields().ByName("abbreviation") + fd_CreditType_name = md_CreditType.Fields().ByName("name") fd_CreditType_unit = md_CreditType.Fields().ByName("unit") fd_CreditType_precision = md_CreditType.Fields().ByName("precision") } @@ -94,18 +95,18 @@ func (x *fastReflection_CreditType) Interface() protoreflect.ProtoMessage { // While iterating, mutating operations may only be performed // on the current field descriptor. func (x *fastReflection_CreditType) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { - if x.Name != "" { - value := protoreflect.ValueOfString(x.Name) - if !f(fd_CreditType_name, value) { - return - } - } if x.Abbreviation != "" { value := protoreflect.ValueOfString(x.Abbreviation) if !f(fd_CreditType_abbreviation, value) { return } } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_CreditType_name, value) { + return + } + } if x.Unit != "" { value := protoreflect.ValueOfString(x.Unit) if !f(fd_CreditType_unit, value) { @@ -133,10 +134,10 @@ func (x *fastReflection_CreditType) Range(f func(protoreflect.FieldDescriptor, p // a repeated field is populated if it is non-empty. func (x *fastReflection_CreditType) Has(fd protoreflect.FieldDescriptor) bool { switch fd.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - return x.Name != "" case "regen.ecocredit.v1beta1.CreditType.abbreviation": return x.Abbreviation != "" + case "regen.ecocredit.v1beta1.CreditType.name": + return x.Name != "" case "regen.ecocredit.v1beta1.CreditType.unit": return x.Unit != "" case "regen.ecocredit.v1beta1.CreditType.precision": @@ -157,10 +158,10 @@ func (x *fastReflection_CreditType) Has(fd protoreflect.FieldDescriptor) bool { // Clear is a mutating operation and unsafe for concurrent use. func (x *fastReflection_CreditType) Clear(fd protoreflect.FieldDescriptor) { switch fd.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - x.Name = "" case "regen.ecocredit.v1beta1.CreditType.abbreviation": x.Abbreviation = "" + case "regen.ecocredit.v1beta1.CreditType.name": + x.Name = "" case "regen.ecocredit.v1beta1.CreditType.unit": x.Unit = "" case "regen.ecocredit.v1beta1.CreditType.precision": @@ -181,12 +182,12 @@ func (x *fastReflection_CreditType) Clear(fd protoreflect.FieldDescriptor) { // of the value; to obtain a mutable reference, use Mutable. func (x *fastReflection_CreditType) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { switch descriptor.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - value := x.Name - return protoreflect.ValueOfString(value) case "regen.ecocredit.v1beta1.CreditType.abbreviation": value := x.Abbreviation return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.CreditType.name": + value := x.Name + return protoreflect.ValueOfString(value) case "regen.ecocredit.v1beta1.CreditType.unit": value := x.Unit return protoreflect.ValueOfString(value) @@ -213,10 +214,10 @@ func (x *fastReflection_CreditType) Get(descriptor protoreflect.FieldDescriptor) // Set is a mutating operation and unsafe for concurrent use. func (x *fastReflection_CreditType) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { switch fd.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - x.Name = value.Interface().(string) case "regen.ecocredit.v1beta1.CreditType.abbreviation": x.Abbreviation = value.Interface().(string) + case "regen.ecocredit.v1beta1.CreditType.name": + x.Name = value.Interface().(string) case "regen.ecocredit.v1beta1.CreditType.unit": x.Unit = value.Interface().(string) case "regen.ecocredit.v1beta1.CreditType.precision": @@ -241,10 +242,10 @@ func (x *fastReflection_CreditType) Set(fd protoreflect.FieldDescriptor, value p // Mutable is a mutating operation and unsafe for concurrent use. func (x *fastReflection_CreditType) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - panic(fmt.Errorf("field name of message regen.ecocredit.v1beta1.CreditType is not mutable")) case "regen.ecocredit.v1beta1.CreditType.abbreviation": panic(fmt.Errorf("field abbreviation of message regen.ecocredit.v1beta1.CreditType is not mutable")) + case "regen.ecocredit.v1beta1.CreditType.name": + panic(fmt.Errorf("field name of message regen.ecocredit.v1beta1.CreditType is not mutable")) case "regen.ecocredit.v1beta1.CreditType.unit": panic(fmt.Errorf("field unit of message regen.ecocredit.v1beta1.CreditType is not mutable")) case "regen.ecocredit.v1beta1.CreditType.precision": @@ -262,10 +263,10 @@ func (x *fastReflection_CreditType) Mutable(fd protoreflect.FieldDescriptor) pro // For lists, maps, and messages, this returns a new, empty, mutable value. func (x *fastReflection_CreditType) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { switch fd.FullName() { - case "regen.ecocredit.v1beta1.CreditType.name": - return protoreflect.ValueOfString("") case "regen.ecocredit.v1beta1.CreditType.abbreviation": return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.CreditType.name": + return protoreflect.ValueOfString("") case "regen.ecocredit.v1beta1.CreditType.unit": return protoreflect.ValueOfString("") case "regen.ecocredit.v1beta1.CreditType.precision": @@ -339,11 +340,11 @@ func (x *fastReflection_CreditType) ProtoMethods() *protoiface.Methods { var n int var l int _ = l - l = len(x.Name) + l = len(x.Abbreviation) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - l = len(x.Abbreviation) + l = len(x.Name) if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } @@ -395,18 +396,18 @@ func (x *fastReflection_CreditType) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x1a } - if len(x.Abbreviation) > 0 { - i -= len(x.Abbreviation) - copy(dAtA[i:], x.Abbreviation) - i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Abbreviation))) - i-- - dAtA[i] = 0x12 - } if len(x.Name) > 0 { i -= len(x.Name) copy(dAtA[i:], x.Name) i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) i-- + dAtA[i] = 0x12 + } + if len(x.Abbreviation) > 0 { + i -= len(x.Abbreviation) + copy(dAtA[i:], x.Abbreviation) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Abbreviation))) + i-- dAtA[i] = 0xa } if input.Buf != nil { @@ -460,7 +461,7 @@ func (x *fastReflection_CreditType) 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 Name", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Abbreviation", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -488,11 +489,11 @@ func (x *fastReflection_CreditType) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Name = string(dAtA[iNdEx:postIndex]) + x.Abbreviation = 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 Abbreviation", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -520,7 +521,7 @@ func (x *fastReflection_CreditType) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - x.Abbreviation = string(dAtA[iNdEx:postIndex]) + x.Name = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 2 { @@ -608,154 +609,6036 @@ func (x *fastReflection_CreditType) ProtoMethods() *protoiface.Methods { } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: regen/ecocredit/v1beta1/state.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +var ( + md_ClassInfo protoreflect.MessageDescriptor + fd_ClassInfo_id protoreflect.FieldDescriptor + fd_ClassInfo_name protoreflect.FieldDescriptor + fd_ClassInfo_admin protoreflect.FieldDescriptor + fd_ClassInfo_metadata protoreflect.FieldDescriptor + fd_ClassInfo_credit_type protoreflect.FieldDescriptor ) -// CreditType defines the measurement unit/precision of a certain credit type -// (e.g. carbon, biodiversity...) -type CreditType struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_ClassInfo = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("ClassInfo") + fd_ClassInfo_id = md_ClassInfo.Fields().ByName("id") + fd_ClassInfo_name = md_ClassInfo.Fields().ByName("name") + fd_ClassInfo_admin = md_ClassInfo.Fields().ByName("admin") + fd_ClassInfo_metadata = md_ClassInfo.Fields().ByName("metadata") + fd_ClassInfo_credit_type = md_ClassInfo.Fields().ByName("credit_type") +} - // the type of credit (e.g. carbon, biodiversity, etc) - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // abbreviation is a 1-3 character uppercase abbreviation of the CreditType - // name, used in batch denominations within the CreditType. It must be unique. - Abbreviation string `protobuf:"bytes,2,opt,name=abbreviation,proto3" json:"abbreviation,omitempty"` - // the measurement unit (e.g. kg, ton, etc) - Unit string `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"` - // the decimal precision - Precision uint32 `protobuf:"varint,4,opt,name=precision,proto3" json:"precision,omitempty"` +var _ protoreflect.Message = (*fastReflection_ClassInfo)(nil) + +type fastReflection_ClassInfo ClassInfo + +func (x *ClassInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_ClassInfo)(x) } -func (x *CreditType) Reset() { - *x = CreditType{} - if protoimpl.UnsafeEnabled { - mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[0] +func (x *ClassInfo) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } + return mi.MessageOf(x) } -func (x *CreditType) String() string { - return protoimpl.X.MessageStringOf(x) +var _fastReflection_ClassInfo_messageType fastReflection_ClassInfo_messageType +var _ protoreflect.MessageType = fastReflection_ClassInfo_messageType{} + +type fastReflection_ClassInfo_messageType struct{} + +func (x fastReflection_ClassInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_ClassInfo)(nil) +} +func (x fastReflection_ClassInfo_messageType) New() protoreflect.Message { + return new(fastReflection_ClassInfo) +} +func (x fastReflection_ClassInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ClassInfo } -func (*CreditType) ProtoMessage() {} +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ClassInfo) Descriptor() protoreflect.MessageDescriptor { + return md_ClassInfo +} -// Deprecated: Use CreditType.ProtoReflect.Descriptor instead. -func (*CreditType) Descriptor() ([]byte, []int) { - return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{0} +// 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_ClassInfo) Type() protoreflect.MessageType { + return _fastReflection_ClassInfo_messageType } -func (x *CreditType) GetName() string { - if x != nil { - return x.Name - } - return "" +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ClassInfo) New() protoreflect.Message { + return new(fastReflection_ClassInfo) } -func (x *CreditType) GetAbbreviation() string { - if x != nil { - return x.Abbreviation - } - return "" +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ClassInfo) Interface() protoreflect.ProtoMessage { + return (*ClassInfo)(x) } -func (x *CreditType) GetUnit() string { - if x != nil { - return x.Unit +// 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_ClassInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_ClassInfo_id, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_ClassInfo_name, value) { + return + } + } + if x.Admin != "" { + value := protoreflect.ValueOfString(x.Admin) + if !f(fd_ClassInfo_admin, value) { + return + } + } + if len(x.Metadata) != 0 { + value := protoreflect.ValueOfBytes(x.Metadata) + if !f(fd_ClassInfo_metadata, value) { + return + } + } + if x.CreditType != "" { + value := protoreflect.ValueOfString(x.CreditType) + if !f(fd_ClassInfo_credit_type, value) { + return + } } - return "" } -func (x *CreditType) GetPrecision() uint32 { - if x != nil { - return x.Precision +// 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_ClassInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + return x.Id != uint64(0) + case "regen.ecocredit.v1beta1.ClassInfo.name": + return x.Name != "" + case "regen.ecocredit.v1beta1.ClassInfo.admin": + return x.Admin != "" + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + return len(x.Metadata) != 0 + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + return x.CreditType != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo does not contain field %s", fd.FullName())) } - return 0 } -var File_regen_ecocredit_v1beta1_state_proto protoreflect.FileDescriptor - -var file_regen_ecocredit_v1beta1_state_proto_rawDesc = []byte{ - 0x0a, 0x23, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, - 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, - 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, - 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x01, - 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x63, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, - 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x18, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x12, 0x0a, 0x0e, - 0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x42, 0xfb, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, - 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, - 0x2d, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, - 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x3b, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xa2, 0x02, 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, - 0x2e, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xca, 0x02, 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, - 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x52, - 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, - 0x72, 0x65, 0x64, 0x69, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +// 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_ClassInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + x.Id = uint64(0) + case "regen.ecocredit.v1beta1.ClassInfo.name": + x.Name = "" + case "regen.ecocredit.v1beta1.ClassInfo.admin": + x.Admin = "" + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + x.Metadata = nil + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + x.CreditType = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo does not contain field %s", fd.FullName())) + } } -var ( - file_regen_ecocredit_v1beta1_state_proto_rawDescOnce sync.Once - file_regen_ecocredit_v1beta1_state_proto_rawDescData = file_regen_ecocredit_v1beta1_state_proto_rawDesc -) - -func file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP() []byte { - file_regen_ecocredit_v1beta1_state_proto_rawDescOnce.Do(func() { - file_regen_ecocredit_v1beta1_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_v1beta1_state_proto_rawDescData) - }) - return file_regen_ecocredit_v1beta1_state_proto_rawDescData +// 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_ClassInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.ClassInfo.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ClassInfo.admin": + value := x.Admin + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + value := x.Metadata + return protoreflect.ValueOfBytes(value) + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + value := x.CreditType + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo does not contain field %s", descriptor.FullName())) + } } -var file_regen_ecocredit_v1beta1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 1) -var file_regen_ecocredit_v1beta1_state_proto_goTypes = []interface{}{ - (*CreditType)(nil), // 0: regen.ecocredit.v1beta1.CreditType -} -var file_regen_ecocredit_v1beta1_state_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name +// 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_ClassInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + x.Id = value.Uint() + case "regen.ecocredit.v1beta1.ClassInfo.name": + x.Name = value.Interface().(string) + case "regen.ecocredit.v1beta1.ClassInfo.admin": + x.Admin = value.Interface().(string) + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + x.Metadata = value.Bytes() + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + x.CreditType = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo does not contain field %s", fd.FullName())) + } } -func init() { file_regen_ecocredit_v1beta1_state_proto_init() } -func file_regen_ecocredit_v1beta1_state_proto_init() { - if File_regen_ecocredit_v1beta1_state_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_regen_ecocredit_v1beta1_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreditType); i { +// 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_ClassInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + panic(fmt.Errorf("field id of message regen.ecocredit.v1beta1.ClassInfo is not mutable")) + case "regen.ecocredit.v1beta1.ClassInfo.name": + panic(fmt.Errorf("field name of message regen.ecocredit.v1beta1.ClassInfo is not mutable")) + case "regen.ecocredit.v1beta1.ClassInfo.admin": + panic(fmt.Errorf("field admin of message regen.ecocredit.v1beta1.ClassInfo is not mutable")) + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1beta1.ClassInfo is not mutable")) + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + panic(fmt.Errorf("field credit_type of message regen.ecocredit.v1beta1.ClassInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo 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_ClassInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassInfo.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.ClassInfo.name": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ClassInfo.admin": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ClassInfo.metadata": + return protoreflect.ValueOfBytes(nil) + case "regen.ecocredit.v1beta1.ClassInfo.credit_type": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassInfo 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_ClassInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.ClassInfo", 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_ClassInfo) 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_ClassInfo) 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_ClassInfo) 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_ClassInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ClassInfo) + 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.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Admin) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Metadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.CreditType) + if l > 0 { + 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().(*ClassInfo) + 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.CreditType) > 0 { + i -= len(x.CreditType) + copy(dAtA[i:], x.CreditType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditType))) + i-- + dAtA[i] = 0x2a + } + if len(x.Metadata) > 0 { + i -= len(x.Metadata) + copy(dAtA[i:], x.Metadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) + i-- + dAtA[i] = 0x22 + } + if len(x.Admin) > 0 { + i -= len(x.Admin) + copy(dAtA[i:], x.Admin) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Admin))) + i-- + dAtA[i] = 0x1a + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x12 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + 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().(*ClassInfo) + 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: ClassInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 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.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", 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.Name = 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 Admin", 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.Admin = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var byteLen 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++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + 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.Metadata = append(x.Metadata[:0], dAtA[iNdEx:postIndex]...) + if x.Metadata == nil { + x.Metadata = []byte{} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CreditType", 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.CreditType = string(dAtA[iNdEx:postIndex]) + 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_ClassIssuer protoreflect.MessageDescriptor + fd_ClassIssuer_class_id protoreflect.FieldDescriptor + fd_ClassIssuer_issuer protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_ClassIssuer = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("ClassIssuer") + fd_ClassIssuer_class_id = md_ClassIssuer.Fields().ByName("class_id") + fd_ClassIssuer_issuer = md_ClassIssuer.Fields().ByName("issuer") +} + +var _ protoreflect.Message = (*fastReflection_ClassIssuer)(nil) + +type fastReflection_ClassIssuer ClassIssuer + +func (x *ClassIssuer) ProtoReflect() protoreflect.Message { + return (*fastReflection_ClassIssuer)(x) +} + +func (x *ClassIssuer) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[2] + 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_ClassIssuer_messageType fastReflection_ClassIssuer_messageType +var _ protoreflect.MessageType = fastReflection_ClassIssuer_messageType{} + +type fastReflection_ClassIssuer_messageType struct{} + +func (x fastReflection_ClassIssuer_messageType) Zero() protoreflect.Message { + return (*fastReflection_ClassIssuer)(nil) +} +func (x fastReflection_ClassIssuer_messageType) New() protoreflect.Message { + return new(fastReflection_ClassIssuer) +} +func (x fastReflection_ClassIssuer_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ClassIssuer +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ClassIssuer) Descriptor() protoreflect.MessageDescriptor { + return md_ClassIssuer +} + +// 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_ClassIssuer) Type() protoreflect.MessageType { + return _fastReflection_ClassIssuer_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ClassIssuer) New() protoreflect.Message { + return new(fastReflection_ClassIssuer) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ClassIssuer) Interface() protoreflect.ProtoMessage { + return (*ClassIssuer)(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_ClassIssuer) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ClassId != "" { + value := protoreflect.ValueOfString(x.ClassId) + if !f(fd_ClassIssuer_class_id, value) { + return + } + } + if x.Issuer != "" { + value := protoreflect.ValueOfString(x.Issuer) + if !f(fd_ClassIssuer_issuer, 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_ClassIssuer) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + return x.ClassId != "" + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + return x.Issuer != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + x.ClassId = "" + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + x.Issuer = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + value := x.ClassId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + value := x.Issuer + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + x.ClassId = value.Interface().(string) + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + x.Issuer = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1beta1.ClassIssuer is not mutable")) + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + panic(fmt.Errorf("field issuer of message regen.ecocredit.v1beta1.ClassIssuer is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassIssuer.class_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ClassIssuer.issuer": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassIssuer")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassIssuer 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_ClassIssuer) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.ClassIssuer", 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_ClassIssuer) 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_ClassIssuer) 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_ClassIssuer) 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_ClassIssuer) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ClassIssuer) + 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.ClassId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Issuer) + if l > 0 { + 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().(*ClassIssuer) + 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.Issuer) > 0 { + i -= len(x.Issuer) + copy(dAtA[i:], x.Issuer) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Issuer))) + i-- + dAtA[i] = 0x12 + } + if len(x.ClassId) > 0 { + i -= len(x.ClassId) + copy(dAtA[i:], x.ClassId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ClassId))) + 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().(*ClassIssuer) + 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: ClassIssuer: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassIssuer: 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 ClassId", 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.ClassId = 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 Issuer", 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.Issuer = string(dAtA[iNdEx:postIndex]) + 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_ProjectInfo protoreflect.MessageDescriptor + fd_ProjectInfo_id protoreflect.FieldDescriptor + fd_ProjectInfo_name protoreflect.FieldDescriptor + fd_ProjectInfo_class_id protoreflect.FieldDescriptor + fd_ProjectInfo_project_location protoreflect.FieldDescriptor + fd_ProjectInfo_metadata protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_ProjectInfo = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("ProjectInfo") + fd_ProjectInfo_id = md_ProjectInfo.Fields().ByName("id") + fd_ProjectInfo_name = md_ProjectInfo.Fields().ByName("name") + fd_ProjectInfo_class_id = md_ProjectInfo.Fields().ByName("class_id") + fd_ProjectInfo_project_location = md_ProjectInfo.Fields().ByName("project_location") + fd_ProjectInfo_metadata = md_ProjectInfo.Fields().ByName("metadata") +} + +var _ protoreflect.Message = (*fastReflection_ProjectInfo)(nil) + +type fastReflection_ProjectInfo ProjectInfo + +func (x *ProjectInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProjectInfo)(x) +} + +func (x *ProjectInfo) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_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_ProjectInfo_messageType fastReflection_ProjectInfo_messageType +var _ protoreflect.MessageType = fastReflection_ProjectInfo_messageType{} + +type fastReflection_ProjectInfo_messageType struct{} + +func (x fastReflection_ProjectInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProjectInfo)(nil) +} +func (x fastReflection_ProjectInfo_messageType) New() protoreflect.Message { + return new(fastReflection_ProjectInfo) +} +func (x fastReflection_ProjectInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ProjectInfo) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectInfo +} + +// 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_ProjectInfo) Type() protoreflect.MessageType { + return _fastReflection_ProjectInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ProjectInfo) New() protoreflect.Message { + return new(fastReflection_ProjectInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ProjectInfo) Interface() protoreflect.ProtoMessage { + return (*ProjectInfo)(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_ProjectInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_ProjectInfo_id, value) { + return + } + } + if x.Name != "" { + value := protoreflect.ValueOfString(x.Name) + if !f(fd_ProjectInfo_name, value) { + return + } + } + if x.ClassId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ClassId) + if !f(fd_ProjectInfo_class_id, value) { + return + } + } + if x.ProjectLocation != "" { + value := protoreflect.ValueOfString(x.ProjectLocation) + if !f(fd_ProjectInfo_project_location, value) { + return + } + } + if len(x.Metadata) != 0 { + value := protoreflect.ValueOfBytes(x.Metadata) + if !f(fd_ProjectInfo_metadata, 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_ProjectInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + return x.Id != uint64(0) + case "regen.ecocredit.v1beta1.ProjectInfo.name": + return x.Name != "" + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + return x.ClassId != uint64(0) + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + return x.ProjectLocation != "" + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + return len(x.Metadata) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + x.Id = uint64(0) + case "regen.ecocredit.v1beta1.ProjectInfo.name": + x.Name = "" + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + x.ClassId = uint64(0) + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + x.ProjectLocation = "" + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + x.Metadata = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.ProjectInfo.name": + value := x.Name + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + value := x.ClassId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + value := x.ProjectLocation + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + value := x.Metadata + return protoreflect.ValueOfBytes(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + x.Id = value.Uint() + case "regen.ecocredit.v1beta1.ProjectInfo.name": + x.Name = value.Interface().(string) + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + x.ClassId = value.Uint() + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + x.ProjectLocation = value.Interface().(string) + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + x.Metadata = value.Bytes() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + panic(fmt.Errorf("field id of message regen.ecocredit.v1beta1.ProjectInfo is not mutable")) + case "regen.ecocredit.v1beta1.ProjectInfo.name": + panic(fmt.Errorf("field name of message regen.ecocredit.v1beta1.ProjectInfo is not mutable")) + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1beta1.ProjectInfo is not mutable")) + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + panic(fmt.Errorf("field project_location of message regen.ecocredit.v1beta1.ProjectInfo is not mutable")) + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1beta1.ProjectInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectInfo.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.ProjectInfo.name": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ProjectInfo.class_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.ProjectInfo.project_location": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ProjectInfo.metadata": + return protoreflect.ValueOfBytes(nil) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectInfo 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_ProjectInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.ProjectInfo", 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_ProjectInfo) 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_ProjectInfo) 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_ProjectInfo) 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_ProjectInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ProjectInfo) + 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.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + l = len(x.Name) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.ClassId != 0 { + n += 1 + runtime.Sov(uint64(x.ClassId)) + } + l = len(x.ProjectLocation) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Metadata) + if l > 0 { + 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().(*ProjectInfo) + 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.Metadata) > 0 { + i -= len(x.Metadata) + copy(dAtA[i:], x.Metadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) + i-- + dAtA[i] = 0x2a + } + if len(x.ProjectLocation) > 0 { + i -= len(x.ProjectLocation) + copy(dAtA[i:], x.ProjectLocation) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectLocation))) + i-- + dAtA[i] = 0x22 + } + if len(x.Name) > 0 { + i -= len(x.Name) + copy(dAtA[i:], x.Name) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Name))) + i-- + dAtA[i] = 0x1a + } + if x.ClassId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ClassId)) + i-- + dAtA[i] = 0x10 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + 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().(*ProjectInfo) + 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: ProjectInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 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.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Name", 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.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + x.ClassId = 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.ClassId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectLocation", 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.ProjectLocation = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var byteLen 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++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + 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.Metadata = append(x.Metadata[:0], dAtA[iNdEx:postIndex]...) + if x.Metadata == nil { + x.Metadata = []byte{} + } + 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_BatchInfo protoreflect.MessageDescriptor + fd_BatchInfo_id protoreflect.FieldDescriptor + fd_BatchInfo_project_id protoreflect.FieldDescriptor + fd_BatchInfo_batch_denom protoreflect.FieldDescriptor + fd_BatchInfo_metadata protoreflect.FieldDescriptor + fd_BatchInfo_start_date protoreflect.FieldDescriptor + fd_BatchInfo_end_date protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_BatchInfo = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("BatchInfo") + fd_BatchInfo_id = md_BatchInfo.Fields().ByName("id") + fd_BatchInfo_project_id = md_BatchInfo.Fields().ByName("project_id") + fd_BatchInfo_batch_denom = md_BatchInfo.Fields().ByName("batch_denom") + fd_BatchInfo_metadata = md_BatchInfo.Fields().ByName("metadata") + fd_BatchInfo_start_date = md_BatchInfo.Fields().ByName("start_date") + fd_BatchInfo_end_date = md_BatchInfo.Fields().ByName("end_date") +} + +var _ protoreflect.Message = (*fastReflection_BatchInfo)(nil) + +type fastReflection_BatchInfo BatchInfo + +func (x *BatchInfo) ProtoReflect() protoreflect.Message { + return (*fastReflection_BatchInfo)(x) +} + +func (x *BatchInfo) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_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_BatchInfo_messageType fastReflection_BatchInfo_messageType +var _ protoreflect.MessageType = fastReflection_BatchInfo_messageType{} + +type fastReflection_BatchInfo_messageType struct{} + +func (x fastReflection_BatchInfo_messageType) Zero() protoreflect.Message { + return (*fastReflection_BatchInfo)(nil) +} +func (x fastReflection_BatchInfo_messageType) New() protoreflect.Message { + return new(fastReflection_BatchInfo) +} +func (x fastReflection_BatchInfo_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BatchInfo +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BatchInfo) Descriptor() protoreflect.MessageDescriptor { + return md_BatchInfo +} + +// 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_BatchInfo) Type() protoreflect.MessageType { + return _fastReflection_BatchInfo_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BatchInfo) New() protoreflect.Message { + return new(fastReflection_BatchInfo) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BatchInfo) Interface() protoreflect.ProtoMessage { + return (*BatchInfo)(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_BatchInfo) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.Id != uint64(0) { + value := protoreflect.ValueOfUint64(x.Id) + if !f(fd_BatchInfo_id, value) { + return + } + } + if x.ProjectId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ProjectId) + if !f(fd_BatchInfo_project_id, value) { + return + } + } + if x.BatchDenom != "" { + value := protoreflect.ValueOfString(x.BatchDenom) + if !f(fd_BatchInfo_batch_denom, value) { + return + } + } + if len(x.Metadata) != 0 { + value := protoreflect.ValueOfBytes(x.Metadata) + if !f(fd_BatchInfo_metadata, value) { + return + } + } + if x.StartDate != nil { + value := protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + if !f(fd_BatchInfo_start_date, value) { + return + } + } + if x.EndDate != nil { + value := protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + if !f(fd_BatchInfo_end_date, 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_BatchInfo) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.id": + return x.Id != uint64(0) + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + return x.ProjectId != uint64(0) + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + return x.BatchDenom != "" + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + return len(x.Metadata) != 0 + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + return x.StartDate != nil + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + return x.EndDate != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.id": + x.Id = uint64(0) + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + x.ProjectId = uint64(0) + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + x.BatchDenom = "" + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + x.Metadata = nil + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + x.StartDate = nil + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + x.EndDate = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.id": + value := x.Id + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + value := x.ProjectId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + value := x.BatchDenom + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + value := x.Metadata + return protoreflect.ValueOfBytes(value) + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + value := x.StartDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + value := x.EndDate + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.id": + x.Id = value.Uint() + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + x.ProjectId = value.Uint() + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + x.BatchDenom = value.Interface().(string) + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + x.Metadata = value.Bytes() + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + x.StartDate = value.Message().Interface().(*timestamppb.Timestamp) + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + x.EndDate = value.Message().Interface().(*timestamppb.Timestamp) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + if x.StartDate == nil { + x.StartDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.StartDate.ProtoReflect()) + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + if x.EndDate == nil { + x.EndDate = new(timestamppb.Timestamp) + } + return protoreflect.ValueOfMessage(x.EndDate.ProtoReflect()) + case "regen.ecocredit.v1beta1.BatchInfo.id": + panic(fmt.Errorf("field id of message regen.ecocredit.v1beta1.BatchInfo is not mutable")) + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1beta1.BatchInfo is not mutable")) + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + panic(fmt.Errorf("field batch_denom of message regen.ecocredit.v1beta1.BatchInfo is not mutable")) + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + panic(fmt.Errorf("field metadata of message regen.ecocredit.v1beta1.BatchInfo is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchInfo.id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.BatchInfo.project_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.BatchInfo.batch_denom": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.BatchInfo.metadata": + return protoreflect.ValueOfBytes(nil) + case "regen.ecocredit.v1beta1.BatchInfo.start_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "regen.ecocredit.v1beta1.BatchInfo.end_date": + m := new(timestamppb.Timestamp) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchInfo")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchInfo 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_BatchInfo) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.BatchInfo", 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_BatchInfo) 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_BatchInfo) 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_BatchInfo) 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_BatchInfo) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BatchInfo) + 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.Id != 0 { + n += 1 + runtime.Sov(uint64(x.Id)) + } + if x.ProjectId != 0 { + n += 1 + runtime.Sov(uint64(x.ProjectId)) + } + l = len(x.BatchDenom) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Metadata) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.StartDate != nil { + l = options.Size(x.StartDate) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.EndDate != nil { + l = options.Size(x.EndDate) + 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().(*BatchInfo) + 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.EndDate != nil { + encoded, err := options.Marshal(x.EndDate) + 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] = 0x32 + } + if x.StartDate != nil { + encoded, err := options.Marshal(x.StartDate) + 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] = 0x2a + } + if len(x.Metadata) > 0 { + i -= len(x.Metadata) + copy(dAtA[i:], x.Metadata) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Metadata))) + i-- + dAtA[i] = 0x22 + } + if len(x.BatchDenom) > 0 { + i -= len(x.BatchDenom) + copy(dAtA[i:], x.BatchDenom) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.BatchDenom))) + i-- + dAtA[i] = 0x1a + } + if x.ProjectId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ProjectId)) + i-- + dAtA[i] = 0x10 + } + if x.Id != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Id)) + i-- + dAtA[i] = 0x8 + } + 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().(*BatchInfo) + 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: BatchInfo: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BatchInfo: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Id", wireType) + } + x.Id = 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.Id |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ProjectId", wireType) + } + x.ProjectId = 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.ProjectId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BatchDenom", 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.BatchDenom = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var byteLen 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++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + 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.Metadata = append(x.Metadata[:0], dAtA[iNdEx:postIndex]...) + if x.Metadata == nil { + x.Metadata = []byte{} + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field StartDate", 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.StartDate == nil { + x.StartDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.StartDate); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field EndDate", 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.EndDate == nil { + x.EndDate = ×tamppb.Timestamp{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.EndDate); 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_ClassSequence protoreflect.MessageDescriptor + fd_ClassSequence_credit_type protoreflect.FieldDescriptor + fd_ClassSequence_next_class_id protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_ClassSequence = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("ClassSequence") + fd_ClassSequence_credit_type = md_ClassSequence.Fields().ByName("credit_type") + fd_ClassSequence_next_class_id = md_ClassSequence.Fields().ByName("next_class_id") +} + +var _ protoreflect.Message = (*fastReflection_ClassSequence)(nil) + +type fastReflection_ClassSequence ClassSequence + +func (x *ClassSequence) ProtoReflect() protoreflect.Message { + return (*fastReflection_ClassSequence)(x) +} + +func (x *ClassSequence) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[5] + 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_ClassSequence_messageType fastReflection_ClassSequence_messageType +var _ protoreflect.MessageType = fastReflection_ClassSequence_messageType{} + +type fastReflection_ClassSequence_messageType struct{} + +func (x fastReflection_ClassSequence_messageType) Zero() protoreflect.Message { + return (*fastReflection_ClassSequence)(nil) +} +func (x fastReflection_ClassSequence_messageType) New() protoreflect.Message { + return new(fastReflection_ClassSequence) +} +func (x fastReflection_ClassSequence_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ClassSequence +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ClassSequence) Descriptor() protoreflect.MessageDescriptor { + return md_ClassSequence +} + +// 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_ClassSequence) Type() protoreflect.MessageType { + return _fastReflection_ClassSequence_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ClassSequence) New() protoreflect.Message { + return new(fastReflection_ClassSequence) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ClassSequence) Interface() protoreflect.ProtoMessage { + return (*ClassSequence)(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_ClassSequence) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.CreditType != "" { + value := protoreflect.ValueOfString(x.CreditType) + if !f(fd_ClassSequence_credit_type, value) { + return + } + } + if x.NextClassId != uint64(0) { + value := protoreflect.ValueOfUint64(x.NextClassId) + if !f(fd_ClassSequence_next_class_id, 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_ClassSequence) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + return x.CreditType != "" + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + return x.NextClassId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + x.CreditType = "" + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + x.NextClassId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + value := x.CreditType + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + value := x.NextClassId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + x.CreditType = value.Interface().(string) + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + x.NextClassId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + panic(fmt.Errorf("field credit_type of message regen.ecocredit.v1beta1.ClassSequence is not mutable")) + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + panic(fmt.Errorf("field next_class_id of message regen.ecocredit.v1beta1.ClassSequence is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ClassSequence.credit_type": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.ClassSequence.next_class_id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ClassSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ClassSequence 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_ClassSequence) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.ClassSequence", 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_ClassSequence) 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_ClassSequence) 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_ClassSequence) 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_ClassSequence) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ClassSequence) + 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.CreditType) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.NextClassId != 0 { + n += 1 + runtime.Sov(uint64(x.NextClassId)) + } + 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().(*ClassSequence) + 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.NextClassId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NextClassId)) + i-- + dAtA[i] = 0x10 + } + if len(x.CreditType) > 0 { + i -= len(x.CreditType) + copy(dAtA[i:], x.CreditType) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CreditType))) + 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().(*ClassSequence) + 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: ClassSequence: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ClassSequence: 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 CreditType", 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.CreditType = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NextClassId", wireType) + } + x.NextClassId = 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.NextClassId |= uint64(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, + } +} + +var ( + md_ProjectSequence protoreflect.MessageDescriptor + fd_ProjectSequence_class_id protoreflect.FieldDescriptor + fd_ProjectSequence_next_project_id protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_ProjectSequence = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("ProjectSequence") + fd_ProjectSequence_class_id = md_ProjectSequence.Fields().ByName("class_id") + fd_ProjectSequence_next_project_id = md_ProjectSequence.Fields().ByName("next_project_id") +} + +var _ protoreflect.Message = (*fastReflection_ProjectSequence)(nil) + +type fastReflection_ProjectSequence ProjectSequence + +func (x *ProjectSequence) ProtoReflect() protoreflect.Message { + return (*fastReflection_ProjectSequence)(x) +} + +func (x *ProjectSequence) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[6] + 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_ProjectSequence_messageType fastReflection_ProjectSequence_messageType +var _ protoreflect.MessageType = fastReflection_ProjectSequence_messageType{} + +type fastReflection_ProjectSequence_messageType struct{} + +func (x fastReflection_ProjectSequence_messageType) Zero() protoreflect.Message { + return (*fastReflection_ProjectSequence)(nil) +} +func (x fastReflection_ProjectSequence_messageType) New() protoreflect.Message { + return new(fastReflection_ProjectSequence) +} +func (x fastReflection_ProjectSequence_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectSequence +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ProjectSequence) Descriptor() protoreflect.MessageDescriptor { + return md_ProjectSequence +} + +// 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_ProjectSequence) Type() protoreflect.MessageType { + return _fastReflection_ProjectSequence_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ProjectSequence) New() protoreflect.Message { + return new(fastReflection_ProjectSequence) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ProjectSequence) Interface() protoreflect.ProtoMessage { + return (*ProjectSequence)(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_ProjectSequence) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ClassId != uint64(0) { + value := protoreflect.ValueOfUint64(x.ClassId) + if !f(fd_ProjectSequence_class_id, value) { + return + } + } + if x.NextProjectId != uint64(0) { + value := protoreflect.ValueOfUint64(x.NextProjectId) + if !f(fd_ProjectSequence_next_project_id, 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_ProjectSequence) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + return x.ClassId != uint64(0) + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + return x.NextProjectId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + x.ClassId = uint64(0) + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + x.NextProjectId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + value := x.ClassId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + value := x.NextProjectId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + x.ClassId = value.Uint() + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + x.NextProjectId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + panic(fmt.Errorf("field class_id of message regen.ecocredit.v1beta1.ProjectSequence is not mutable")) + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + panic(fmt.Errorf("field next_project_id of message regen.ecocredit.v1beta1.ProjectSequence is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.ProjectSequence.class_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.ProjectSequence.next_project_id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.ProjectSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.ProjectSequence 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_ProjectSequence) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.ProjectSequence", 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_ProjectSequence) 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_ProjectSequence) 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_ProjectSequence) 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_ProjectSequence) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ProjectSequence) + 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.ClassId != 0 { + n += 1 + runtime.Sov(uint64(x.ClassId)) + } + if x.NextProjectId != 0 { + n += 1 + runtime.Sov(uint64(x.NextProjectId)) + } + 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().(*ProjectSequence) + 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.NextProjectId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NextProjectId)) + i-- + dAtA[i] = 0x10 + } + if x.ClassId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.ClassId)) + i-- + dAtA[i] = 0x8 + } + 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().(*ProjectSequence) + 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: ProjectSequence: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ProjectSequence: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ClassId", wireType) + } + x.ClassId = 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.ClassId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NextProjectId", wireType) + } + x.NextProjectId = 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.NextProjectId |= uint64(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, + } +} + +var ( + md_BatchSequence protoreflect.MessageDescriptor + fd_BatchSequence_project_id protoreflect.FieldDescriptor + fd_BatchSequence_next_batch_id protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_BatchSequence = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("BatchSequence") + fd_BatchSequence_project_id = md_BatchSequence.Fields().ByName("project_id") + fd_BatchSequence_next_batch_id = md_BatchSequence.Fields().ByName("next_batch_id") +} + +var _ protoreflect.Message = (*fastReflection_BatchSequence)(nil) + +type fastReflection_BatchSequence BatchSequence + +func (x *BatchSequence) ProtoReflect() protoreflect.Message { + return (*fastReflection_BatchSequence)(x) +} + +func (x *BatchSequence) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[7] + 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_BatchSequence_messageType fastReflection_BatchSequence_messageType +var _ protoreflect.MessageType = fastReflection_BatchSequence_messageType{} + +type fastReflection_BatchSequence_messageType struct{} + +func (x fastReflection_BatchSequence_messageType) Zero() protoreflect.Message { + return (*fastReflection_BatchSequence)(nil) +} +func (x fastReflection_BatchSequence_messageType) New() protoreflect.Message { + return new(fastReflection_BatchSequence) +} +func (x fastReflection_BatchSequence_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BatchSequence +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BatchSequence) Descriptor() protoreflect.MessageDescriptor { + return md_BatchSequence +} + +// 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_BatchSequence) Type() protoreflect.MessageType { + return _fastReflection_BatchSequence_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BatchSequence) New() protoreflect.Message { + return new(fastReflection_BatchSequence) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BatchSequence) Interface() protoreflect.ProtoMessage { + return (*BatchSequence)(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_BatchSequence) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ProjectId != "" { + value := protoreflect.ValueOfString(x.ProjectId) + if !f(fd_BatchSequence_project_id, value) { + return + } + } + if x.NextBatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.NextBatchId) + if !f(fd_BatchSequence_next_batch_id, 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_BatchSequence) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + return x.ProjectId != "" + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + return x.NextBatchId != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + x.ProjectId = "" + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + x.NextBatchId = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + value := x.ProjectId + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + value := x.NextBatchId + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + x.ProjectId = value.Interface().(string) + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + x.NextBatchId = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + panic(fmt.Errorf("field project_id of message regen.ecocredit.v1beta1.BatchSequence is not mutable")) + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + panic(fmt.Errorf("field next_batch_id of message regen.ecocredit.v1beta1.BatchSequence is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSequence.project_id": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.BatchSequence.next_batch_id": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSequence")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSequence 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_BatchSequence) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.BatchSequence", 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_BatchSequence) 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_BatchSequence) 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_BatchSequence) 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_BatchSequence) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BatchSequence) + 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.ProjectId) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.NextBatchId != 0 { + n += 1 + runtime.Sov(uint64(x.NextBatchId)) + } + 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().(*BatchSequence) + 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.NextBatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.NextBatchId)) + i-- + dAtA[i] = 0x10 + } + if len(x.ProjectId) > 0 { + i -= len(x.ProjectId) + copy(dAtA[i:], x.ProjectId) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ProjectId))) + 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().(*BatchSequence) + 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: BatchSequence: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BatchSequence: 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 ProjectId", 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.ProjectId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NextBatchId", wireType) + } + x.NextBatchId = 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.NextBatchId |= uint64(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, + } +} + +var ( + md_BatchBalance protoreflect.MessageDescriptor + fd_BatchBalance_address protoreflect.FieldDescriptor + fd_BatchBalance_batch_id protoreflect.FieldDescriptor + fd_BatchBalance_tradable protoreflect.FieldDescriptor + fd_BatchBalance_retired protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_BatchBalance = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("BatchBalance") + fd_BatchBalance_address = md_BatchBalance.Fields().ByName("address") + fd_BatchBalance_batch_id = md_BatchBalance.Fields().ByName("batch_id") + fd_BatchBalance_tradable = md_BatchBalance.Fields().ByName("tradable") + fd_BatchBalance_retired = md_BatchBalance.Fields().ByName("retired") +} + +var _ protoreflect.Message = (*fastReflection_BatchBalance)(nil) + +type fastReflection_BatchBalance BatchBalance + +func (x *BatchBalance) ProtoReflect() protoreflect.Message { + return (*fastReflection_BatchBalance)(x) +} + +func (x *BatchBalance) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[8] + 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_BatchBalance_messageType fastReflection_BatchBalance_messageType +var _ protoreflect.MessageType = fastReflection_BatchBalance_messageType{} + +type fastReflection_BatchBalance_messageType struct{} + +func (x fastReflection_BatchBalance_messageType) Zero() protoreflect.Message { + return (*fastReflection_BatchBalance)(nil) +} +func (x fastReflection_BatchBalance_messageType) New() protoreflect.Message { + return new(fastReflection_BatchBalance) +} +func (x fastReflection_BatchBalance_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BatchBalance +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BatchBalance) Descriptor() protoreflect.MessageDescriptor { + return md_BatchBalance +} + +// 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_BatchBalance) Type() protoreflect.MessageType { + return _fastReflection_BatchBalance_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BatchBalance) New() protoreflect.Message { + return new(fastReflection_BatchBalance) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BatchBalance) Interface() protoreflect.ProtoMessage { + return (*BatchBalance)(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_BatchBalance) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Address) != 0 { + value := protoreflect.ValueOfBytes(x.Address) + if !f(fd_BatchBalance_address, value) { + return + } + } + if x.BatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BatchId) + if !f(fd_BatchBalance_batch_id, value) { + return + } + } + if x.Tradable != "" { + value := protoreflect.ValueOfString(x.Tradable) + if !f(fd_BatchBalance_tradable, value) { + return + } + } + if x.Retired != "" { + value := protoreflect.ValueOfString(x.Retired) + if !f(fd_BatchBalance_retired, 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_BatchBalance) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + return len(x.Address) != 0 + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + return x.BatchId != uint64(0) + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + return x.Tradable != "" + case "regen.ecocredit.v1beta1.BatchBalance.retired": + return x.Retired != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + x.Address = nil + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + x.BatchId = uint64(0) + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + x.Tradable = "" + case "regen.ecocredit.v1beta1.BatchBalance.retired": + x.Retired = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + value := x.Address + return protoreflect.ValueOfBytes(value) + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + value := x.BatchId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + value := x.Tradable + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.BatchBalance.retired": + value := x.Retired + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + x.Address = value.Bytes() + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + x.BatchId = value.Uint() + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + x.Tradable = value.Interface().(string) + case "regen.ecocredit.v1beta1.BatchBalance.retired": + x.Retired = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + panic(fmt.Errorf("field address of message regen.ecocredit.v1beta1.BatchBalance is not mutable")) + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + panic(fmt.Errorf("field batch_id of message regen.ecocredit.v1beta1.BatchBalance is not mutable")) + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + panic(fmt.Errorf("field tradable of message regen.ecocredit.v1beta1.BatchBalance is not mutable")) + case "regen.ecocredit.v1beta1.BatchBalance.retired": + panic(fmt.Errorf("field retired of message regen.ecocredit.v1beta1.BatchBalance is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchBalance.address": + return protoreflect.ValueOfBytes(nil) + case "regen.ecocredit.v1beta1.BatchBalance.batch_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.BatchBalance.tradable": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.BatchBalance.retired": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchBalance")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchBalance 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_BatchBalance) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.BatchBalance", 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_BatchBalance) 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_BatchBalance) 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_BatchBalance) 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_BatchBalance) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BatchBalance) + 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.BatchId != 0 { + n += 1 + runtime.Sov(uint64(x.BatchId)) + } + l = len(x.Tradable) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.Retired) + if l > 0 { + 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().(*BatchBalance) + 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.Retired) > 0 { + i -= len(x.Retired) + copy(dAtA[i:], x.Retired) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Retired))) + i-- + dAtA[i] = 0x22 + } + if len(x.Tradable) > 0 { + i -= len(x.Tradable) + copy(dAtA[i:], x.Tradable) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Tradable))) + i-- + dAtA[i] = 0x1a + } + if x.BatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BatchId)) + i-- + dAtA[i] = 0x10 + } + 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().(*BatchBalance) + 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: BatchBalance: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BatchBalance: 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 byteLen 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++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + byteLen + 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 = append(x.Address[:0], dAtA[iNdEx:postIndex]...) + if x.Address == nil { + x.Address = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BatchId", wireType) + } + x.BatchId = 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.BatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Tradable", 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.Tradable = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Retired", 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.Retired = string(dAtA[iNdEx:postIndex]) + 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_BatchSupply protoreflect.MessageDescriptor + fd_BatchSupply_batch_id protoreflect.FieldDescriptor + fd_BatchSupply_tradable_amount protoreflect.FieldDescriptor + fd_BatchSupply_retired_amount protoreflect.FieldDescriptor + fd_BatchSupply_cancelled_amount protoreflect.FieldDescriptor +) + +func init() { + file_regen_ecocredit_v1beta1_state_proto_init() + md_BatchSupply = File_regen_ecocredit_v1beta1_state_proto.Messages().ByName("BatchSupply") + fd_BatchSupply_batch_id = md_BatchSupply.Fields().ByName("batch_id") + fd_BatchSupply_tradable_amount = md_BatchSupply.Fields().ByName("tradable_amount") + fd_BatchSupply_retired_amount = md_BatchSupply.Fields().ByName("retired_amount") + fd_BatchSupply_cancelled_amount = md_BatchSupply.Fields().ByName("cancelled_amount") +} + +var _ protoreflect.Message = (*fastReflection_BatchSupply)(nil) + +type fastReflection_BatchSupply BatchSupply + +func (x *BatchSupply) ProtoReflect() protoreflect.Message { + return (*fastReflection_BatchSupply)(x) +} + +func (x *BatchSupply) slowProtoReflect() protoreflect.Message { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[9] + 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_BatchSupply_messageType fastReflection_BatchSupply_messageType +var _ protoreflect.MessageType = fastReflection_BatchSupply_messageType{} + +type fastReflection_BatchSupply_messageType struct{} + +func (x fastReflection_BatchSupply_messageType) Zero() protoreflect.Message { + return (*fastReflection_BatchSupply)(nil) +} +func (x fastReflection_BatchSupply_messageType) New() protoreflect.Message { + return new(fastReflection_BatchSupply) +} +func (x fastReflection_BatchSupply_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_BatchSupply +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_BatchSupply) Descriptor() protoreflect.MessageDescriptor { + return md_BatchSupply +} + +// 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_BatchSupply) Type() protoreflect.MessageType { + return _fastReflection_BatchSupply_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_BatchSupply) New() protoreflect.Message { + return new(fastReflection_BatchSupply) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_BatchSupply) Interface() protoreflect.ProtoMessage { + return (*BatchSupply)(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_BatchSupply) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.BatchId != uint64(0) { + value := protoreflect.ValueOfUint64(x.BatchId) + if !f(fd_BatchSupply_batch_id, value) { + return + } + } + if x.TradableAmount != "" { + value := protoreflect.ValueOfString(x.TradableAmount) + if !f(fd_BatchSupply_tradable_amount, value) { + return + } + } + if x.RetiredAmount != "" { + value := protoreflect.ValueOfString(x.RetiredAmount) + if !f(fd_BatchSupply_retired_amount, value) { + return + } + } + if x.CancelledAmount != "" { + value := protoreflect.ValueOfString(x.CancelledAmount) + if !f(fd_BatchSupply_cancelled_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_BatchSupply) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + return x.BatchId != uint64(0) + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + return x.TradableAmount != "" + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + return x.RetiredAmount != "" + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + return x.CancelledAmount != "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + x.BatchId = uint64(0) + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + x.TradableAmount = "" + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + x.RetiredAmount = "" + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + x.CancelledAmount = "" + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + value := x.BatchId + return protoreflect.ValueOfUint64(value) + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + value := x.TradableAmount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + value := x.RetiredAmount + return protoreflect.ValueOfString(value) + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + value := x.CancelledAmount + return protoreflect.ValueOfString(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + x.BatchId = value.Uint() + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + x.TradableAmount = value.Interface().(string) + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + x.RetiredAmount = value.Interface().(string) + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + x.CancelledAmount = value.Interface().(string) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + panic(fmt.Errorf("field batch_id of message regen.ecocredit.v1beta1.BatchSupply is not mutable")) + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + panic(fmt.Errorf("field tradable_amount of message regen.ecocredit.v1beta1.BatchSupply is not mutable")) + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + panic(fmt.Errorf("field retired_amount of message regen.ecocredit.v1beta1.BatchSupply is not mutable")) + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + panic(fmt.Errorf("field cancelled_amount of message regen.ecocredit.v1beta1.BatchSupply is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "regen.ecocredit.v1beta1.BatchSupply.batch_id": + return protoreflect.ValueOfUint64(uint64(0)) + case "regen.ecocredit.v1beta1.BatchSupply.tradable_amount": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.BatchSupply.retired_amount": + return protoreflect.ValueOfString("") + case "regen.ecocredit.v1beta1.BatchSupply.cancelled_amount": + return protoreflect.ValueOfString("") + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: regen.ecocredit.v1beta1.BatchSupply")) + } + panic(fmt.Errorf("message regen.ecocredit.v1beta1.BatchSupply 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_BatchSupply) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in regen.ecocredit.v1beta1.BatchSupply", 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_BatchSupply) 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_BatchSupply) 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_BatchSupply) 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_BatchSupply) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*BatchSupply) + 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.BatchId != 0 { + n += 1 + runtime.Sov(uint64(x.BatchId)) + } + l = len(x.TradableAmount) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.RetiredAmount) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + l = len(x.CancelledAmount) + if l > 0 { + 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().(*BatchSupply) + 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.CancelledAmount) > 0 { + i -= len(x.CancelledAmount) + copy(dAtA[i:], x.CancelledAmount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.CancelledAmount))) + i-- + dAtA[i] = 0x22 + } + if len(x.RetiredAmount) > 0 { + i -= len(x.RetiredAmount) + copy(dAtA[i:], x.RetiredAmount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.RetiredAmount))) + i-- + dAtA[i] = 0x1a + } + if len(x.TradableAmount) > 0 { + i -= len(x.TradableAmount) + copy(dAtA[i:], x.TradableAmount) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.TradableAmount))) + i-- + dAtA[i] = 0x12 + } + if x.BatchId != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.BatchId)) + i-- + dAtA[i] = 0x8 + } + 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().(*BatchSupply) + 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: BatchSupply: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: BatchSupply: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field BatchId", wireType) + } + x.BatchId = 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.BatchId |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field TradableAmount", 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.TradableAmount = 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 RetiredAmount", 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.RetiredAmount = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field CancelledAmount", 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.CancelledAmount = string(dAtA[iNdEx:postIndex]) + 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, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: regen/ecocredit/v1beta1/state.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CreditType defines the measurement unit/precision of a certain credit type +// (e.g. carbon, biodiversity...) +type CreditType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // abbreviation is a 1-3 character uppercase abbreviation of the CreditType + // name, used in batch denominations within the CreditType. It must be unique. + Abbreviation string `protobuf:"bytes,1,opt,name=abbreviation,proto3" json:"abbreviation,omitempty"` + // the type of credit (e.g. carbon, biodiversity, etc) + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // the measurement unit (e.g. kg, ton, etc) + Unit string `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"` + // the decimal precision + Precision uint32 `protobuf:"varint,4,opt,name=precision,proto3" json:"precision,omitempty"` +} + +func (x *CreditType) Reset() { + *x = CreditType{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreditType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreditType) ProtoMessage() {} + +// Deprecated: Use CreditType.ProtoReflect.Descriptor instead. +func (*CreditType) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{0} +} + +func (x *CreditType) GetAbbreviation() string { + if x != nil { + return x.Abbreviation + } + return "" +} + +func (x *CreditType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreditType) GetUnit() string { + if x != nil { + return x.Unit + } + return "" +} + +func (x *CreditType) GetPrecision() uint32 { + if x != nil { + return x.Precision + } + return 0 +} + +// ClassInfo represents the high-level on-chain information for a credit class. +type ClassInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the unique ID of credit class. + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // abbrev is the unique string name for this credit class formed from its credit type + // and an auto-generated integer. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // admin is the admin of the credit class. + Admin string `protobuf:"bytes,3,opt,name=admin,proto3" json:"admin,omitempty"` + // metadata is any arbitrary metadata to attached to the credit class. + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // credit_type is the abbreviation of the credit type. + CreditType string `protobuf:"bytes,5,opt,name=credit_type,json=creditType,proto3" json:"credit_type,omitempty"` +} + +func (x *ClassInfo) Reset() { + *x = ClassInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClassInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClassInfo) ProtoMessage() {} + +// Deprecated: Use ClassInfo.ProtoReflect.Descriptor instead. +func (*ClassInfo) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{1} +} + +func (x *ClassInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClassInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ClassInfo) GetAdmin() string { + if x != nil { + return x.Admin + } + return "" +} + +func (x *ClassInfo) GetMetadata() []byte { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ClassInfo) GetCreditType() string { + if x != nil { + return x.CreditType + } + return "" +} + +// ClassIssuers is a JOIN table for Class Info that stores the credit class issuers +type ClassIssuer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // class_id is the unique ID of credit class. + ClassId string `protobuf:"bytes,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // issuer is the approved issuer of the credit class. + Issuer string `protobuf:"bytes,2,opt,name=issuer,proto3" json:"issuer,omitempty"` +} + +func (x *ClassIssuer) Reset() { + *x = ClassIssuer{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClassIssuer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClassIssuer) ProtoMessage() {} + +// Deprecated: Use ClassIssuer.ProtoReflect.Descriptor instead. +func (*ClassIssuer) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{2} +} + +func (x *ClassIssuer) GetClassId() string { + if x != nil { + return x.ClassId + } + return "" +} + +func (x *ClassIssuer) GetIssuer() string { + if x != nil { + return x.Issuer + } + return "" +} + +// ProjectInfo represents the high-level on-chain information for a project. +type ProjectInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is the unique ID of the project + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // name is an unique name of this project formed from its credit class + // name and either an auto-generated number or user provided string. + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // class_id is the ID of credit class for this project. + ClassId uint64 `protobuf:"varint,2,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // project_location is the location of the project. + // Full documentation can be found in MsgCreateProject.project_location. + ProjectLocation string `protobuf:"bytes,4,opt,name=project_location,json=projectLocation,proto3" json:"project_location,omitempty"` + // metadata is any arbitrary metadata attached to the project. + Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *ProjectInfo) Reset() { + *x = ProjectInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectInfo) ProtoMessage() {} + +// Deprecated: Use ProjectInfo.ProtoReflect.Descriptor instead. +func (*ProjectInfo) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{3} +} + +func (x *ProjectInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ProjectInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ProjectInfo) GetClassId() uint64 { + if x != nil { + return x.ClassId + } + return 0 +} + +func (x *ProjectInfo) GetProjectLocation() string { + if x != nil { + return x.ProjectLocation + } + return "" +} + +func (x *ProjectInfo) GetMetadata() []byte { + if x != nil { + return x.Metadata + } + return nil +} + +// BatchInfo represents the high-level on-chain information for a credit batch. +type BatchInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // id is an auto-incrementing integer to succinctly identify the batch + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // project_id is the unique ID of the project this batch belongs to. + ProjectId uint64 `protobuf:"varint,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // batch_denom is the unique string identifier of the credit batch formed + // from the project name, batch sequence number and dates. + BatchDenom string `protobuf:"bytes,3,opt,name=batch_denom,json=batchDenom,proto3" json:"batch_denom,omitempty"` + // metadata is any arbitrary metadata attached to the credit batch. + Metadata []byte `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"` + // start_date is the beginning of the period during which this credit batch + // was quantified and verified. + StartDate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start_date,json=startDate,proto3" json:"start_date,omitempty"` + // end_date is the end of the period during which this credit batch was + // quantified and verified. + EndDate *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=end_date,json=endDate,proto3" json:"end_date,omitempty"` +} + +func (x *BatchInfo) Reset() { + *x = BatchInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchInfo) ProtoMessage() {} + +// Deprecated: Use BatchInfo.ProtoReflect.Descriptor instead. +func (*BatchInfo) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{4} +} + +func (x *BatchInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *BatchInfo) GetProjectId() uint64 { + if x != nil { + return x.ProjectId + } + return 0 +} + +func (x *BatchInfo) GetBatchDenom() string { + if x != nil { + return x.BatchDenom + } + return "" +} + +func (x *BatchInfo) GetMetadata() []byte { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *BatchInfo) GetStartDate() *timestamppb.Timestamp { + if x != nil { + return x.StartDate + } + return nil +} + +func (x *BatchInfo) GetEndDate() *timestamppb.Timestamp { + if x != nil { + return x.EndDate + } + return nil +} + +// ClassSequence is a sequence number for creating credit class identifiers for each +// credit type. +type ClassSequence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // credit_type is the credit type abbreviation + CreditType string `protobuf:"bytes,1,opt,name=credit_type,json=creditType,proto3" json:"credit_type,omitempty"` + // next_class_id is the next class ID for this credit type + NextClassId uint64 `protobuf:"varint,2,opt,name=next_class_id,json=nextClassId,proto3" json:"next_class_id,omitempty"` +} + +func (x *ClassSequence) Reset() { + *x = ClassSequence{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClassSequence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClassSequence) ProtoMessage() {} + +// Deprecated: Use ClassSequence.ProtoReflect.Descriptor instead. +func (*ClassSequence) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{5} +} + +func (x *ClassSequence) GetCreditType() string { + if x != nil { + return x.CreditType + } + return "" +} + +func (x *ClassSequence) GetNextClassId() uint64 { + if x != nil { + return x.NextClassId + } + return 0 +} + +// ProjectSequence stores and increments the sequence number for projects +// within a given credit class. +type ProjectSequence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // class_id is the id of the credit class + ClassId uint64 `protobuf:"varint,1,opt,name=class_id,json=classId,proto3" json:"class_id,omitempty"` + // next_project_id is the sequence number for the project + NextProjectId uint64 `protobuf:"varint,2,opt,name=next_project_id,json=nextProjectId,proto3" json:"next_project_id,omitempty"` +} + +func (x *ProjectSequence) Reset() { + *x = ProjectSequence{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectSequence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectSequence) ProtoMessage() {} + +// Deprecated: Use ProjectSequence.ProtoReflect.Descriptor instead. +func (*ProjectSequence) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{6} +} + +func (x *ProjectSequence) GetClassId() uint64 { + if x != nil { + return x.ClassId + } + return 0 +} + +func (x *ProjectSequence) GetNextProjectId() uint64 { + if x != nil { + return x.NextProjectId + } + return 0 +} + +// BatchSequence tracks the sequence number for batches within a project +type BatchSequence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // project_id is the id of the project for a batch + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // next_batch_id is a sequence number incrementing on each issued batch + NextBatchId uint64 `protobuf:"varint,2,opt,name=next_batch_id,json=nextBatchId,proto3" json:"next_batch_id,omitempty"` +} + +func (x *BatchSequence) Reset() { + *x = BatchSequence{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchSequence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchSequence) ProtoMessage() {} + +// Deprecated: Use BatchSequence.ProtoReflect.Descriptor instead. +func (*BatchSequence) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{7} +} + +func (x *BatchSequence) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BatchSequence) GetNextBatchId() uint64 { + if x != nil { + return x.NextBatchId + } + return 0 +} + +// BatchBalance stores each users credit balance +type BatchBalance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // address is the address of the credit holder + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // batch_id is the id of the credit batch + BatchId uint64 `protobuf:"varint,2,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"` + // tradable is the tradable amount of credits + Tradable string `protobuf:"bytes,3,opt,name=tradable,proto3" json:"tradable,omitempty"` + // retired is the retired amount of credits + Retired string `protobuf:"bytes,4,opt,name=retired,proto3" json:"retired,omitempty"` +} + +func (x *BatchBalance) Reset() { + *x = BatchBalance{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchBalance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchBalance) ProtoMessage() {} + +// Deprecated: Use BatchBalance.ProtoReflect.Descriptor instead. +func (*BatchBalance) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{8} +} + +func (x *BatchBalance) GetAddress() []byte { + if x != nil { + return x.Address + } + return nil +} + +func (x *BatchBalance) GetBatchId() uint64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *BatchBalance) GetTradable() string { + if x != nil { + return x.Tradable + } + return "" +} + +func (x *BatchBalance) GetRetired() string { + if x != nil { + return x.Retired + } + return "" +} + +// BatchSupply tracks the supply of a credit batch +type BatchSupply struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // batch_id is the id of the batch + BatchId uint64 `protobuf:"varint,1,opt,name=batch_id,json=batchId,proto3" json:"batch_id,omitempty"` + // tradable_amount is the total number of tradable credits in the credit batch. + // Some of the issued credits may be cancelled and will be removed from + // tradable_amount and tracked in amount_cancelled. tradable_amount + retired_amount + + // amount_cancelled will always sum to the original credit issuance amount. + TradableAmount string `protobuf:"bytes,2,opt,name=tradable_amount,json=tradableAmount,proto3" json:"tradable_amount,omitempty"` + // retired_amount is the total amount of credits that have been retired from the credit batch. + RetiredAmount string `protobuf:"bytes,3,opt,name=retired_amount,json=retiredAmount,proto3" json:"retired_amount,omitempty"` + // cancelled_amount is the number of credits in the batch that have been + // cancelled, effectively undoing the issuance. The sum of total_amount and + // amount_cancelled will always equal the original credit issuance amount. + CancelledAmount string `protobuf:"bytes,4,opt,name=cancelled_amount,json=cancelledAmount,proto3" json:"cancelled_amount,omitempty"` +} + +func (x *BatchSupply) Reset() { + *x = BatchSupply{} + if protoimpl.UnsafeEnabled { + mi := &file_regen_ecocredit_v1beta1_state_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchSupply) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchSupply) ProtoMessage() {} + +// Deprecated: Use BatchSupply.ProtoReflect.Descriptor instead. +func (*BatchSupply) Descriptor() ([]byte, []int) { + return file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP(), []int{9} +} + +func (x *BatchSupply) GetBatchId() uint64 { + if x != nil { + return x.BatchId + } + return 0 +} + +func (x *BatchSupply) GetTradableAmount() string { + if x != nil { + return x.TradableAmount + } + return "" +} + +func (x *BatchSupply) GetRetiredAmount() string { + if x != nil { + return x.RetiredAmount + } + return "" +} + +func (x *BatchSupply) GetCancelledAmount() string { + if x != nil { + return x.CancelledAmount + } + return "" +} + +var File_regen_ecocredit_v1beta1_state_proto protoreflect.FileDescriptor + +var file_regen_ecocredit_v1beta1_state_proto_rawDesc = []byte{ + 0x0a, 0x23, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1d, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, + 0x68, 0x61, 0x31, 0x2f, 0x6f, 0x72, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, + 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, + 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, + 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x24, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1e, 0x0a, + 0x0e, 0x0a, 0x0c, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x18, 0x01, 0x18, 0x01, 0x22, 0xbc, 0x01, + 0x0a, 0x09, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x3a, 0x38, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x32, 0x0a, 0x06, 0x0a, 0x02, 0x69, 0x64, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x10, 0x01, 0x18, 0x01, 0x12, 0x09, + 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x10, 0x03, 0x18, 0x02, 0x22, 0x5d, 0x0a, 0x0b, + 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x3a, 0x1b, + 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x15, 0x0a, 0x11, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x2c, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x22, 0xba, 0x01, 0x0a, 0x0b, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x3a, 0x25, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x1f, 0x0a, 0x06, 0x0a, 0x02, 0x69, 0x64, 0x10, + 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x61, + 0x6d, 0x65, 0x10, 0x01, 0x18, 0x01, 0x18, 0x04, 0x22, 0xae, 0x02, 0x0a, 0x09, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, + 0x65, 0x6e, 0x6f, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x6e, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x05, 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, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x06, 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, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x3a, 0x43, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x3d, 0x0a, 0x06, 0x0a, 0x02, + 0x69, 0x64, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0b, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x65, + 0x6e, 0x6f, 0x6d, 0x10, 0x01, 0x18, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x10, 0x03, 0x18, 0x05, 0x22, 0x6d, 0x0a, 0x0d, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x3a, + 0x17, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x11, 0x0a, 0x0d, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x22, 0x6a, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x3a, 0x14, + 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0e, 0x0a, 0x0a, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, + 0x69, 0x64, 0x18, 0x07, 0x22, 0x6a, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x65, 0x78, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x3a, 0x16, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x10, + 0x0a, 0x0c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, + 0x22, 0xad, 0x01, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x3a, 0x32, 0xf2, 0x9e, + 0xd3, 0x8e, 0x03, 0x2c, 0x0a, 0x12, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x10, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x10, 0x01, 0x18, 0x09, + 0x22, 0xb9, 0x01, 0x0a, 0x0b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x12, 0x19, 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x62, 0x61, 0x74, 0x63, 0x68, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x74, + 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x69, 0x72, 0x65, 0x64, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, + 0x74, 0x69, 0x72, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x14, 0xf2, 0x9e, 0xd3, 0x8e, 0x03, 0x0e, 0x0a, 0x0a, + 0x0a, 0x08, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x42, 0xfb, 0x01, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x65, 0x63, 0x6f, 0x63, 0x72, + 0x65, 0x64, 0x69, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0a, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6c, 0x65, 0x64, + 0x67, 0x65, 0x72, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x67, 0x65, 0x6e, 0x2f, 0x65, 0x63, 0x6f, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x65, 0x63, + 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, + 0x03, 0x52, 0x45, 0x58, 0xaa, 0x02, 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x2e, 0x45, 0x63, 0x6f, + 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, + 0x17, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x23, 0x52, 0x65, 0x67, 0x65, 0x6e, + 0x5c, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x19, 0x52, 0x65, 0x67, 0x65, 0x6e, 0x3a, 0x3a, 0x45, 0x63, 0x6f, 0x63, 0x72, 0x65, 0x64, 0x69, + 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_regen_ecocredit_v1beta1_state_proto_rawDescOnce sync.Once + file_regen_ecocredit_v1beta1_state_proto_rawDescData = file_regen_ecocredit_v1beta1_state_proto_rawDesc +) + +func file_regen_ecocredit_v1beta1_state_proto_rawDescGZIP() []byte { + file_regen_ecocredit_v1beta1_state_proto_rawDescOnce.Do(func() { + file_regen_ecocredit_v1beta1_state_proto_rawDescData = protoimpl.X.CompressGZIP(file_regen_ecocredit_v1beta1_state_proto_rawDescData) + }) + return file_regen_ecocredit_v1beta1_state_proto_rawDescData +} + +var file_regen_ecocredit_v1beta1_state_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_regen_ecocredit_v1beta1_state_proto_goTypes = []interface{}{ + (*CreditType)(nil), // 0: regen.ecocredit.v1beta1.CreditType + (*ClassInfo)(nil), // 1: regen.ecocredit.v1beta1.ClassInfo + (*ClassIssuer)(nil), // 2: regen.ecocredit.v1beta1.ClassIssuer + (*ProjectInfo)(nil), // 3: regen.ecocredit.v1beta1.ProjectInfo + (*BatchInfo)(nil), // 4: regen.ecocredit.v1beta1.BatchInfo + (*ClassSequence)(nil), // 5: regen.ecocredit.v1beta1.ClassSequence + (*ProjectSequence)(nil), // 6: regen.ecocredit.v1beta1.ProjectSequence + (*BatchSequence)(nil), // 7: regen.ecocredit.v1beta1.BatchSequence + (*BatchBalance)(nil), // 8: regen.ecocredit.v1beta1.BatchBalance + (*BatchSupply)(nil), // 9: regen.ecocredit.v1beta1.BatchSupply + (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_regen_ecocredit_v1beta1_state_proto_depIdxs = []int32{ + 10, // 0: regen.ecocredit.v1beta1.BatchInfo.start_date:type_name -> google.protobuf.Timestamp + 10, // 1: regen.ecocredit.v1beta1.BatchInfo.end_date:type_name -> google.protobuf.Timestamp + 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_regen_ecocredit_v1beta1_state_proto_init() } +func file_regen_ecocredit_v1beta1_state_proto_init() { + if File_regen_ecocredit_v1beta1_state_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_regen_ecocredit_v1beta1_state_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreditType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClassInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClassIssuer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClassSequence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectSequence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchSequence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchBalance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_regen_ecocredit_v1beta1_state_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchSupply); i { case 0: return &v.state case 1: @@ -773,7 +6656,7 @@ func file_regen_ecocredit_v1beta1_state_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_regen_ecocredit_v1beta1_state_proto_rawDesc, NumEnums: 0, - NumMessages: 1, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/go.sum b/go.sum index b418566c27..4920f3ba5b 100644 --- a/go.sum +++ b/go.sum @@ -215,7 +215,7 @@ github.com/cosmos/cosmos-proto v1.0.0-alpha6 h1:N2BvV2AyzGAXCJnvlw1pMzEQ+76tj5FD github.com/cosmos/cosmos-proto v1.0.0-alpha6/go.mod h1:msdDWOvfStHLG+Z2y2SJ0dcqimZ2vc8M1MPnZ4jOF7U= github.com/cosmos/cosmos-sdk/api v0.1.0-alpha3/go.mod h1:Ht15guGn9F8b0lv8NkjXE9/asAvVUOt2n4gvQ4q5MyU= github.com/cosmos/cosmos-sdk/errors v1.0.0-beta.2/go.mod h1:Gi7pzVRnvZ1N16JAXpLADzng0ePoE7YeEHaULSFB2Ts= -github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.1/go.mod h1:5mhtuO1SxHkN7nQqC41YIIIOEURJ5NieEMqlbsG5IYs= +github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.2/go.mod h1:I+FsOa+FYLN9mOd3EJT+/0ACcegQbXq7QmKM7oK6wdA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -558,6 +558,7 @@ github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63 github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= diff --git a/proto/buf.gen.pulsar.yaml b/proto/buf.gen.pulsar.yaml index 76f9110a2c..bcc08e2677 100644 --- a/proto/buf.gen.pulsar.yaml +++ b/proto/buf.gen.pulsar.yaml @@ -16,3 +16,6 @@ plugins: - name: go-grpc out: ../api opt: paths=source_relative + - name: go-cosmos-orm + out: ../api + opt: paths=source_relative diff --git a/proto/regen/ecocredit/marketplace/v1beta1/state.proto b/proto/regen/ecocredit/marketplace/v1beta1/state.proto index 308506c0bd..33507cd99a 100644 --- a/proto/regen/ecocredit/marketplace/v1beta1/state.proto +++ b/proto/regen/ecocredit/marketplace/v1beta1/state.proto @@ -2,13 +2,13 @@ syntax = "proto3"; package regen.ecocredit.marketplace.v1beta1; +import "google/protobuf/timestamp.proto"; import "cosmos/orm/v1alpha1/orm.proto"; import "cosmos/base/v1beta1/coin.proto"; -import "google/protobuf/timestamp.proto"; +import "regen/ecocredit/marketplace/v1beta1/types.proto"; // SellOrder represents the information for a sell order. message SellOrder { - option (cosmos.orm.v1alpha1.table) = { id: 1, primary_key: {fields: "order_id"} @@ -42,11 +42,14 @@ message SellOrder { // expiration is an optional timestamp when the sell order expires. When the // expiration time is reached, the sell order is removed from state. google.protobuf.Timestamp expiration = 7; + + // maker indicates that this is a maker order, meaning that when it hit + // the order book, there were no matching buy orders. + bool maker = 8; } // BuyOrder represents the information for a buy order. message BuyOrder { - option (cosmos.orm.v1alpha1.table) = { id: 2, primary_key: {fields: "buy_order_id"} @@ -64,11 +67,8 @@ message BuyOrder { // is placed directly against a specific sell order. uint64 sell_order_id = 1; - // TODO: once we have filters defined for baskets, we can enable filtered - // buy orders which will involve full double-sided batch order matching - // - // filter selects credits to buy based upon the specified filter criteria. - // Filter filter = 2; + // filter selects credits to buy based upon the specified filter criteria. + Filter filter = 2; } } @@ -106,24 +106,87 @@ message BuyOrder { // expiration is the optional timestamp when the buy order expires. When the // expiration time is reached, the buy order is removed from state. google.protobuf.Timestamp expiration = 8; -} -// AskDenom represents the information for an ask denom. -message AskDenom { + // maker indicates that this is a maker order, meaning that when it hit + // the order book, there were no matching sell orders. + bool maker = 9; +} + +// AllowedDenom represents the information for an allowed ask/bid denom. +message AllowedDenom { option (cosmos.orm.v1alpha1.table) = { - id: 3, - primary_key: {fields: "denom"} - index: {id: 1 fields: "display_denom"} + id: 3 + primary_key: {fields: "bank_denom"} + index: {id: 1 fields: "display_denom", unique: true} }; - // denom is the denom to allow (ex. ibc/GLKHDSG423SGS) - string denom = 1; + // denom is the bank denom to allow (ex. ibc/GLKHDSG423SGS) + string bank_denom = 1; - // display_denom is the denom to display to the user and is informational + // display_denom is the denom to display to the user and is informational. + // Because the denom is likely an IBC denom, this should be chosen by + // governance to represent the consensus trusted name of the denom. string display_denom = 2; // exponent is the exponent that relates the denom to the display_denom and is // informational uint32 exponent = 3; +} + +// Market describes a distinctly processed market between a credit type and +// allowed bank denom. Each market has its own precision in the order book +// and is processed independently of other markets. Governance must enable +// markets one by one. Every additional enabled market potentially adds more +// processing overhead to the blockchain and potentially weakens liquidity in +// competing markets. For instance, enabling side by side USD/Carbon and +// EUR/Carbon markets may have the end result that each market individually has +// less liquidity and longer settlement times. Such decisions should be taken +// with care. +message Market { + option (cosmos.orm.v1alpha1.table) = { + id: 4 + primary_key: {fields: "id"} + index: {id: 1 fields: "credit_type,bank_denom", unique: true} + }; + + // id is the unique ID of the market. + uint64 id = 1; + + // credit_type is the abbreviation of the credit type. + string credit_type = 2; + + // bank_denom is an allowed bank denom. + string bank_denom = 3; + + // precision_modifier is an optional modifier used to convert arbitrary + // precision integer bank amounts to uint64 values used for sorting in the + // order book. Given an arbitrary precision integer x, its uint64 conversion + // will be x / 10^precision_modifier using round half away from zero + // rounding. + // + // uint64 values range from 0 to 1,8446,744,073,709,551,615. + // This allows for a full 18 digits of precision. In most real world cases, + // a precision modifier of 0 (meaning no conversion) is probably sufficient. + // + // Consider a USD stable coin with 6 decimal digits of precision. A credit + // would need to be worth over 1 trillion USD for a non-zero precision_modifier + // to be needed. + // + // precision_modifier is provided to accomodate cases where the bank denom + // has either a huge precision (such as 18 decimal digits on its own) or + // extreme hyper-inflationary scenarios. + // + // In cases where there is a non-zero precision_modifier, bids and asks + // which are rounded to the same number will be ordered equivalently and + // differentiated only by time priority. The precision integer amount in the + // order will still be used in settlement. + // + // In cases where an arbitrary precision integer overflows its conversion to + // uint64, the order fill fail and the market will eventually become stuck + // if prices are in this region. Governance should intervene at this + // point to change the precision_modifier to a reasonable value to re-enable + // the market. When precision_modifier changes, all active orders in the order + // book will be updated to reflect this. + uint32 precision_modifier = 4; } \ No newline at end of file diff --git a/proto/regen/ecocredit/marketplace/v1beta1/types.proto b/proto/regen/ecocredit/marketplace/v1beta1/types.proto new file mode 100644 index 0000000000..d48869516a --- /dev/null +++ b/proto/regen/ecocredit/marketplace/v1beta1/types.proto @@ -0,0 +1,73 @@ +syntax = "proto3"; + +package regen.ecocredit.marketplace.v1beta1; + +import "google/protobuf/timestamp.proto"; + +// Filter is used to create filtered buy orders which match credit batch +// sell orders based on selection criteria rather than matching individual +// sell orders +message Filter { + // or is a list of criteria for matching credit batches. A credit which + // matches this filter must match at least one of these criteria. + repeated Criteria or = 1; + + // Criteria is a simple filter criteria for matching a credit batch. + message Criteria { + // or specifies the primary selector criteria. Every criteria + // must specify at least one selector and matching credit batches must + // match at least one selector. + repeated Selector or = 1; + + // project_location can be specified in three levels of granularity: + // country, sub-national-code, or postal code. If just country is given, + // for instance "US" then any credits in the "US" will be matched even + // their project location is more specific, ex. "US-NY 12345". If + // a country, sub-national-code and postal code are all provided then + // only projects in that postal code will match. + string project_location = 2; + + // start_date is the beginning of the period during which a credit batch + // was quantified and verified. If it is empty then there is no start date + // limit. + google.protobuf.Timestamp min_start_date = 3; + + // max_end_date is the end of the period during which a credit batch was + // quantified and verified. If it is empty then there is no end date + // limit. + google.protobuf.Timestamp max_end_date = 4; + } +} + +// SelectorType specifies a selector type. Valid selector types are all +// attributes which are assigned to credit batches by some authority such +// as the credit issuer or a curator. Requiring some authority-based selector +// ensures that buy orders cannot just match some randomly issued credit +// based on location and dates. +enum SelectorType { + // SELECTOR_TYPE_UNSPECIFIED is the SelectorType zero value. + SELECTOR_TYPE_UNSPECIFIED = 0; + + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 credit class ID. + SELECTOR_TYPE_CLASS = 1; + + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 project ID. + SELECTOR_TYPE_PROJECT = 2; + + // SELECTOR_TYPE_CLASS is a selector type which matches an uint64 credit batch ID. + SELECTOR_TYPE_BATCH = 3; +} + +// Selector is the primary authority-based component of filter criteria. +message Selector { + + // type is the selector type + SelectorType selector_type = 1; + + // value is the oneof for selector values and varies depending on type. + oneof value { + // uint64_value is specified for selector types with an uint64 value. + uint64 uint64_value = 2; + } +} + diff --git a/proto/regen/ecocredit/orderbook/v1beta1/memory.proto b/proto/regen/ecocredit/orderbook/v1beta1/memory.proto new file mode 100644 index 0000000000..2e6d464cd0 --- /dev/null +++ b/proto/regen/ecocredit/orderbook/v1beta1/memory.proto @@ -0,0 +1,73 @@ +syntax = "proto3"; + +package regen.ecocredit.orderbook.v1beta1; + +import "google/protobuf/timestamp.proto"; +import "cosmos/orm/v1alpha1/orm.proto"; +import "regen/ecocredit/marketplace/v1beta1/types.proto"; + +// BuyOrderSellOrderMatch defines the data the FIFO/price-time-priority matching +// algorithm used to actually match buy and sell orders. +message BuyOrderSellOrderMatch { + option (cosmos.orm.v1alpha1.table) = { + id: 1 + + // the primary key of the table is simply the buy_order_id,sell_order_id pair as these pairs are unique + primary_key: { fields: "buy_order_id,sell_order_id" } + + // Algorithm details: + // this index is what does the magic - it basically sorts our orders for us and more or less does the matching. + // Basically we iterate over all bid prices within a given denom from high to low. The highest bidding orders always get filled first, and if one bid is the same price as another, the earlier bid wins - since buy order IDs are assigned incrementally we get this for free. + // Then within a given buy order, we iterate over all the matching sell orders from the lowest to highest ask price. So the highest bids and lowest asks get filled first. If the ask price is the same, then earlier sell orders get filled first (again we get this from the sell order ID which is assigned incrementally). + index: { id: 1; fields: "bid_denom_id,bid_price_complement,buy_order_id,ask_price,sell_order_id"; + //name: "order_book_match" + } + + // this index is used to delete matches once sell orders are filled + index: { id: 2, fields: "sell_order_id" } + }; + + // bid_denom_id defines the bid denom being used by the buy and sell orders. Matching always happens within a single bid denom. + uint32 bid_denom_id = 1; + + // buy_order_id is the buy order ID. + uint64 buy_order_id = 2; + + // sell_order_id is the sell order ID. + uint64 sell_order_id = 3; + + // bid_price_complement is the the complement (~ operator) of the bid price encoded as a uint64 (which should have sufficient precision) - effectively ~price * 10^exponent (usually 10^6). The complement is used so that bids can be sorted high to low. + fixed64 bid_price_complement = 4; + + // ask_price is the ask price encoded to a uint64. Ask prices are sorted low to high. + fixed64 ask_price = 5; +} + +// UInt64SelectorBuyOrder indexes a buy order against uint64 selectors in its criteria. +// For example, for a buy order with a selector for a credit class, should insert +/// an entry with type class. +message UInt64SelectorBuyOrder { + option (cosmos.orm.v1alpha1.table) = { + id: 2 + primary_key: { fields: "buy_order_id,selector_type,value" } + index: {id: 1, fields: "selector_type,value"} + }; + + // buy_order_id is the buy order ID. + uint64 buy_order_id = 1; + + // type is the selector type. + regen.ecocredit.marketplace.v1beta1.SelectorType selector_type = 2; + + // value is the uint64 selector value. + uint64 value = 3; + + // project_location is the project location in the selector's criteria. + string project_location = 4; + + // min_start_date is the minimum start date in the selector's criteria. + google.protobuf.Timestamp min_start_date = 5; + + // max_end_date is the maximum end date in the selector's criteria. + google.protobuf.Timestamp max_end_date = 6; +} \ No newline at end of file diff --git a/proto/regen/ecocredit/v1beta1/state.proto b/proto/regen/ecocredit/v1beta1/state.proto index c6ae625924..48f91083fd 100644 --- a/proto/regen/ecocredit/v1beta1/state.proto +++ b/proto/regen/ecocredit/v1beta1/state.proto @@ -3,36 +3,62 @@ syntax = "proto3"; package regen.ecocredit.v1beta1; import "cosmos/orm/v1alpha1/orm.proto"; -import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; +// CreditType defines the measurement unit/precision of a certain credit type +// (e.g. carbon, biodiversity...) +message CreditType { + option (cosmos.orm.v1alpha1.table) = { + id: 1, + primary_key: {fields: "abbreviation"} + index: {id: 1, fields: "name", unique: true} + }; + + // abbreviation is a 1-3 character uppercase abbreviation of the CreditType + // name, used in batch denominations within the CreditType. It must be unique. + string abbreviation = 1; + + // the type of credit (e.g. carbon, biodiversity, etc) + string name = 2; + + // the measurement unit (e.g. kg, ton, etc) + string unit = 3; + + // the decimal precision + uint32 precision = 4; +} + // ClassInfo represents the high-level on-chain information for a credit class. message ClassInfo { - option (cosmos.orm.v1alpha1.table) = { - id: 1, - primary_key: {fields: "class_id"} - index: {id: 1 fields: "admin"} - index: {id: 2 fields: "credit_type"} + id: 2, + primary_key: {fields: "id", auto_increment: true} + index: {id: 1 fields: "name", unique: true} + index: {id: 2 fields: "admin"} + index: {id: 3 fields: "credit_type"} }; - // class_id is the unique ID of credit class. - string class_id = 1; + // id is the unique ID of credit class. + uint64 id = 1; + + // abbrev is the unique string name for this credit class formed from its credit type + // and an auto-generated integer. + string name = 2; // admin is the admin of the credit class. - string admin = 2; + string admin = 3; // metadata is any arbitrary metadata to attached to the credit class. - bytes metadata = 3; + bytes metadata = 4; - // credit_type describes the type of credit (e.g. carbon, biodiversity), as well as unit and precision. - CreditType credit_type = 4; + // credit_type is the abbreviation of the credit type. + string credit_type = 5; } // ClassIssuers is a JOIN table for Class Info that stores the credit class issuers message ClassIssuer { option (cosmos.orm.v1alpha1.table) = { - id: 2, + id: 3, primary_key: {fields: "class_id,issuer"} }; @@ -45,22 +71,21 @@ message ClassIssuer { // ProjectInfo represents the high-level on-chain information for a project. message ProjectInfo { - option (cosmos.orm.v1alpha1.table) = { - id: 3, - primary_key: {fields: "project_id"} - index: {id: 1 fields: "issuer"} - index: {id: 2 fields: "class_id"} + id: 4, + primary_key: {fields: "id", auto_increment: true} + index: {id: 1 fields: "class_id,name", unique: true} }; - // project_id is the unique ID of the project. - string project_id = 1; + // id is the unique ID of the project + uint64 id = 1; - // class_id is the unique ID of credit class for this project. - string class_id = 2; + // name is an unique name of this project formed from its credit class + // name and either an auto-generated number or user provided string. + string name = 3; - // issuer is the issuer of the credit batches for this project. - string issuer = 3; + // class_id is the ID of credit class for this project. + uint64 class_id = 2; // project_location is the location of the project. // Full documentation can be found in MsgCreateProject.project_location. @@ -72,56 +97,49 @@ message ProjectInfo { // BatchInfo represents the high-level on-chain information for a credit batch. message BatchInfo { - option (cosmos.orm.v1alpha1.table) = { - id: 4, + id: 5, primary_key: {fields: "id", auto_increment: true} - index: {fields: "batch_denom", unique: true} - index: {id: 1 fields: "project_id"} - index: {id: 2 fields: "start_date"} + index: {id: 1 fields: "batch_denom", unique: true} + index: {id: 2 fields: "project_id"} + index: {id: 3 fields: "start_date"} }; // id is an auto-incrementing integer to succinctly identify the batch uint64 id = 1; // project_id is the unique ID of the project this batch belongs to. - string project_id = 2; + uint64 project_id = 2; - // batch_denom is the unique ID of credit batch. + // batch_denom is the unique string identifier of the credit batch formed + // from the project name, batch sequence number and dates. string batch_denom = 3; // metadata is any arbitrary metadata attached to the credit batch. - bytes metadata = 5; + bytes metadata = 4; // start_date is the beginning of the period during which this credit batch // was quantified and verified. - google.protobuf.Timestamp start_date = 6 [ (gogoproto.stdtime) = true ]; + google.protobuf.Timestamp start_date = 5; // end_date is the end of the period during which this credit batch was // quantified and verified. - google.protobuf.Timestamp end_date = 7 [ (gogoproto.stdtime) = true ]; + google.protobuf.Timestamp end_date = 6; } -// CreditType defines the measurement unit/precision of a certain credit type -// (e.g. carbon, biodiversity...) -message CreditType { +// ClassSequence is a sequence number for creating credit class identifiers for each +// credit type. +message ClassSequence { option (cosmos.orm.v1alpha1.table) = { - id: 5, - primary_key: {fields: "abbreviation"} + id: 6, + primary_key: {fields: "credit_type"} }; - // the type of credit (e.g. carbon, biodiversity, etc) - string name = 1; + // credit_type is the credit type abbreviation + string credit_type = 1; - // abbreviation is a 1-3 character uppercase abbreviation of the CreditType - // name, used in batch denominations within the CreditType. It must be unique. - string abbreviation = 2; - - // the measurement unit (e.g. kg, ton, etc) - string unit = 3; - - // the decimal precision - uint32 precision = 4; + // next_class_id is the next class ID for this credit type + uint64 next_class_id = 2; } // ProjectSequence stores and increments the sequence number for projects @@ -133,16 +151,31 @@ message ProjectSequence { }; // class_id is the id of the credit class - string class_id = 1; + uint64 class_id = 1; - // next_id is the sequence number for the project - uint64 next_id = 2; + // next_project_id is the sequence number for the project + uint64 next_project_id = 2; } -// EcocreditBalance stores each users credit balance -message EcocreditBalance { + +// BatchSequence tracks the sequence number for batches within a project +message BatchSequence { option (cosmos.orm.v1alpha1.table) = { id: 8, + primary_key: {fields: "project_id"} + }; + + // project_id is the id of the project for a batch + string project_id = 1; + + // next_batch_id is a sequence number incrementing on each issued batch + uint64 next_batch_id = 2; +} + +// BatchBalance stores each users credit balance +message BatchBalance { + option (cosmos.orm.v1alpha1.table) = { + id: 9, primary_key: {fields: "address,batch_id"} index: {id: 1, fields: "batch_id,address"} }; @@ -160,29 +193,15 @@ message EcocreditBalance { string retired = 4; } -// BatchSequence tracks the sequence number for batches within a project -message BatchSequence { - option (cosmos.orm.v1alpha1.table) = { - id: 9, - primary_key: {fields: "project_id"} - }; - - // project_id is the id of the project for a batch - string project_id = 1; - - // num_batches is a sequence number incrementing on each issued batch - uint64 num_batches = 2; -} - // BatchSupply tracks the supply of a credit batch message BatchSupply { option (cosmos.orm.v1alpha1.table) = { id: 10, - primary_key: {fields: "id"} + primary_key: {fields: "batch_id"} }; - // id is the id of the batch - uint64 id = 1; + // batch_id is the id of the batch + uint64 batch_id = 1; // tradable_amount is the total number of tradable credits in the credit batch. // Some of the issued credits may be cancelled and will be removed from diff --git a/scripts/protocgen2.sh b/scripts/protocgen2.sh index 841a1a330d..72f1592520 100755 --- a/scripts/protocgen2.sh +++ b/scripts/protocgen2.sh @@ -2,12 +2,13 @@ set -eo pipefail -protoc_gen_gopulsar() { - go install github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar@latest 2>/dev/null - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 2>/dev/null +protoc_gen_install() { + go install github.com/cosmos/cosmos-proto/cmd/protoc-gen-go-pulsar@latest #2>/dev/null + go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest #2>/dev/null + go install github.com/cosmos/cosmos-sdk/orm/cmd/protoc-gen-go-cosmos-orm@latest #2>/dev/null } -protoc_gen_gopulsar +protoc_gen_install echo "Generating API module" (cd proto; buf generate --template buf.gen.pulsar.yaml) diff --git a/types/go.mod b/types/go.mod index 4b455d985c..4f321cf581 100644 --- a/types/go.mod +++ b/types/go.mod @@ -5,7 +5,7 @@ go 1.17 require ( github.com/cockroachdb/apd/v2 v2.0.2 github.com/cosmos/cosmos-sdk v0.44.2 - github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.1 + github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.2 github.com/gogo/protobuf v1.3.3 github.com/grpc-ecosystem/grpc-gateway v1.16.0 github.com/regen-network/regen-ledger/api v0.1.0-alpha.1 diff --git a/types/go.sum b/types/go.sum index 94614d28a5..ed9dd14d5c 100644 --- a/types/go.sum +++ b/types/go.sum @@ -228,6 +228,8 @@ github.com/cosmos/cosmos-sdk/errors v1.0.0-beta.2 h1:bBglNlra8ZHb4dmbEE8V85ihLA+ github.com/cosmos/cosmos-sdk/errors v1.0.0-beta.2/go.mod h1:Gi7pzVRnvZ1N16JAXpLADzng0ePoE7YeEHaULSFB2Ts= github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.1 h1:cSC8m9ttv+USCl92901VPuYh07d3J1kMTeq4Ik/yKF0= github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.1/go.mod h1:5mhtuO1SxHkN7nQqC41YIIIOEURJ5NieEMqlbsG5IYs= +github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.2 h1:D4EJu53483y4wA3Xhz++0HlXVQel633UsyOVC2tMky0= +github.com/cosmos/cosmos-sdk/orm v1.0.0-alpha.2/go.mod h1:I+FsOa+FYLN9mOd3EJT+/0ACcegQbXq7QmKM7oK6wdA= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= diff --git a/x/data/events.pb.go b/x/data/events.pb.go index 163afe78a0..92b3091fdd 100644 --- a/x/data/events.pb.go +++ b/x/data/events.pb.go @@ -178,22 +178,21 @@ func init() { func init() { proto.RegisterFile("regen/data/v1alpha2/events.proto", fileDescriptor_2f405832eebe356f) } var fileDescriptor_2f405832eebe356f = []byte{ - // 227 bytes of a gzipped FileDescriptorProto + // 216 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x28, 0x4a, 0x4d, 0x4f, 0xcd, 0xd3, 0x4f, 0x49, 0x2c, 0x49, 0xd4, 0x2f, 0x33, 0x4c, 0xcc, 0x29, 0xc8, 0x48, 0x34, 0xd2, 0x4f, 0x2d, 0x4b, 0xcd, 0x2b, 0x29, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x06, 0xab, - 0xd0, 0x03, 0xa9, 0xd0, 0x83, 0xa9, 0x90, 0x92, 0xc7, 0xa6, 0xad, 0xa4, 0xb2, 0x20, 0x15, 0xaa, - 0x4b, 0x49, 0x99, 0x8b, 0xdf, 0x15, 0x64, 0x8a, 0x63, 0x5e, 0x72, 0x46, 0x7e, 0x91, 0x4b, 0x62, - 0x49, 0xa2, 0x90, 0x00, 0x17, 0x73, 0x66, 0x51, 0xa6, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0x67, 0x10, - 0x88, 0xa9, 0x64, 0xcd, 0xc5, 0x0b, 0x56, 0x14, 0x9c, 0x99, 0x9e, 0x87, 0x5d, 0x89, 0x90, 0x04, - 0x17, 0x7b, 0x71, 0x66, 0x7a, 0x5e, 0x6a, 0x51, 0xb1, 0x04, 0x93, 0x02, 0xb3, 0x06, 0x67, 0x10, - 0x8c, 0xab, 0xa4, 0xca, 0x25, 0x08, 0xd1, 0x5c, 0x92, 0x5f, 0x94, 0x1a, 0x94, 0x58, 0x8e, 0xdd, - 0x00, 0x27, 0xb7, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, 0x48, 0x8e, 0x71, - 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, 0xd2, 0x49, 0xcf, - 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x07, 0x7b, 0x47, 0x37, 0x2f, 0xb5, 0xa4, - 0x3c, 0xbf, 0x28, 0x1b, 0xca, 0xcb, 0x49, 0x4d, 0x49, 0x4f, 0x2d, 0xd2, 0xaf, 0x00, 0xfb, 0x32, - 0x89, 0x0d, 0xec, 0x2f, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1f, 0x13, 0x87, 0x5e, 0x31, - 0x01, 0x00, 0x00, + 0xd0, 0x03, 0xa9, 0xd0, 0x83, 0xa9, 0x50, 0x52, 0xe6, 0xe2, 0x77, 0x05, 0x29, 0x72, 0xcc, 0x4b, + 0xce, 0xc8, 0x2f, 0x72, 0x49, 0x2c, 0x49, 0x14, 0x12, 0xe0, 0x62, 0xce, 0x2c, 0xca, 0x94, 0x60, + 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0x31, 0x95, 0xac, 0xb9, 0x78, 0xc1, 0x8a, 0x82, 0x33, 0xd3, + 0xf3, 0xb0, 0x2b, 0x11, 0x92, 0xe0, 0x62, 0x2f, 0xce, 0x4c, 0xcf, 0x4b, 0x2d, 0x2a, 0x96, 0x60, + 0x52, 0x60, 0xd6, 0xe0, 0x0c, 0x82, 0x71, 0x95, 0x54, 0xb9, 0x04, 0x21, 0x9a, 0x4b, 0xf2, 0x8b, + 0x52, 0x83, 0x12, 0xcb, 0xb1, 0x1b, 0xe0, 0xe4, 0x76, 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, + 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, + 0x72, 0x0c, 0x51, 0x3a, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0x60, + 0x2f, 0xe8, 0xe6, 0xa5, 0x96, 0x94, 0xe7, 0x17, 0x65, 0x43, 0x79, 0x39, 0xa9, 0x29, 0xe9, 0xa9, + 0x45, 0xfa, 0x15, 0x60, 0xbf, 0x27, 0xb1, 0x81, 0x3d, 0x6b, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, + 0xac, 0x38, 0x94, 0xff, 0x10, 0x01, 0x00, 0x00, } func (m *EventAnchorData) Marshal() (dAtA []byte, err error) { diff --git a/x/data/types.pb.go b/x/data/types.pb.go index 83d86c0a8a..a2b98b3976 100644 --- a/x/data/types.pb.go +++ b/x/data/types.pb.go @@ -489,53 +489,52 @@ func init() { func init() { proto.RegisterFile("regen/data/v1alpha2/types.proto", fileDescriptor_e68eefb44eeab1df) } var fileDescriptor_e68eefb44eeab1df = []byte{ - // 728 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x95, 0x41, 0x4f, 0xdb, 0x48, + // 717 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x94, 0x41, 0x4f, 0xdb, 0x48, 0x18, 0x86, 0x63, 0x92, 0x20, 0x65, 0xb2, 0x22, 0xb3, 0xc3, 0xc2, 0x86, 0x68, 0x65, 0xd8, 0xec, - 0x0a, 0xad, 0x22, 0xd6, 0x81, 0xb0, 0xac, 0xe8, 0xa1, 0x95, 0x9c, 0xc4, 0x71, 0x0c, 0xb1, 0x63, - 0x4d, 0x0c, 0xa5, 0x5c, 0xac, 0x21, 0x99, 0x3a, 0x16, 0xb1, 0x1d, 0x39, 0x4e, 0x53, 0x7a, 0xec, - 0xad, 0xb7, 0xfe, 0x8b, 0xaa, 0xff, 0xa4, 0x47, 0x8e, 0x3d, 0x56, 0xd0, 0x1f, 0x52, 0x65, 0x42, - 0x20, 0x9d, 0x06, 0xb8, 0xf5, 0x36, 0xf3, 0xcd, 0xf3, 0x7e, 0xdf, 0x2b, 0xcf, 0x3b, 0x32, 0x58, - 0x0f, 0xa9, 0x43, 0xfd, 0x62, 0x87, 0x44, 0xa4, 0xf8, 0x6a, 0x87, 0xf4, 0xfa, 0x5d, 0x52, 0x2a, - 0x46, 0x17, 0x7d, 0x3a, 0x90, 0xfa, 0x61, 0x10, 0x05, 0x68, 0x99, 0x01, 0xd2, 0x18, 0x90, 0xa6, - 0x40, 0x6e, 0xdd, 0x09, 0x02, 0xa7, 0x47, 0x8b, 0x0c, 0x39, 0x1b, 0xbe, 0x2c, 0x46, 0xae, 0x47, - 0x07, 0x11, 0xf1, 0xfa, 0x13, 0x55, 0x4e, 0xe4, 0x81, 0xce, 0x30, 0x24, 0x91, 0x1b, 0xf8, 0x93, - 0xf3, 0xfc, 0xd7, 0x04, 0x48, 0x57, 0x02, 0x3f, 0xa2, 0x7e, 0x54, 0x27, 0x83, 0x2e, 0xda, 0x07, - 0xf1, 0x90, 0x8c, 0xb2, 0xc2, 0x86, 0xf0, 0x4f, 0xba, 0xf4, 0xb7, 0x34, 0x67, 0xa6, 0x34, 0x83, - 0x4b, 0x98, 0x8c, 0xea, 0x31, 0x3c, 0x96, 0xa0, 0x67, 0x20, 0xe9, 0x84, 0xa4, 0xdf, 0xcd, 0x2e, - 0x30, 0xed, 0xe6, 0xa3, 0x5a, 0x75, 0x4c, 0xd7, 0x63, 0x78, 0x22, 0xcb, 0x7d, 0x14, 0x40, 0x1c, - 0x93, 0x11, 0x42, 0x20, 0xd1, 0x25, 0x83, 0x2e, 0xb3, 0xf0, 0x0b, 0x66, 0x6b, 0xd4, 0x04, 0xb0, - 0xe3, 0x3a, 0x74, 0x10, 0xd9, 0xa4, 0xe7, 0x04, 0xa1, 0x1b, 0x75, 0x3d, 0x36, 0x66, 0xe9, 0x1e, - 0x8b, 0x55, 0x06, 0xcb, 0x53, 0x16, 0x67, 0x3a, 0xdf, 0x17, 0xd0, 0x53, 0x00, 0x3c, 0xda, 0x71, - 0x89, 0x3d, 0xfe, 0xc2, 0xd9, 0x38, 0x6b, 0x25, 0xce, 0x6d, 0xa5, 0x8f, 0x31, 0xeb, 0xa2, 0x4f, - 0x71, 0xca, 0x9b, 0x2e, 0x73, 0x1f, 0x16, 0x40, 0x92, 0xd9, 0xff, 0x39, 0x6e, 0x43, 0x90, 0x6b, - 0x13, 0x3f, 0xf0, 0xdd, 0x36, 0xe9, 0xb9, 0x6f, 0xd8, 0xf5, 0xcd, 0xb4, 0x9e, 0xb8, 0xdf, 0x9d, - 0xdb, 0x9a, 0x99, 0xac, 0x70, 0xda, 0xbb, 0x49, 0x6b, 0xed, 0xfb, 0x8e, 0x90, 0x02, 0xd2, 0x1e, - 0x0d, 0xcf, 0x7b, 0xd4, 0x8e, 0x42, 0x4a, 0xb3, 0x89, 0x07, 0xfc, 0xb3, 0x21, 0x3a, 0x83, 0xad, - 0x90, 0x52, 0x0c, 0xbc, 0xdb, 0x75, 0x39, 0x09, 0xe2, 0x83, 0xa1, 0x97, 0xb7, 0x41, 0xba, 0xe5, - 0x3a, 0x3e, 0x0d, 0x15, 0x3f, 0x0a, 0x2f, 0xd0, 0x2a, 0x58, 0x1c, 0xb0, 0x2d, 0xfb, 0x6e, 0x29, - 0x7c, 0xb3, 0x43, 0xfb, 0x20, 0x75, 0x1b, 0xe0, 0x9b, 0x1c, 0xe5, 0xa4, 0x49, 0x82, 0xa5, 0x69, - 0x82, 0x25, 0x6b, 0x4a, 0xe0, 0x3b, 0xb8, 0xf0, 0x2e, 0x0e, 0x52, 0xb7, 0x57, 0x85, 0x72, 0x60, - 0x55, 0x57, 0xaa, 0x9a, 0x6c, 0x5b, 0x2f, 0x4c, 0xc5, 0x3e, 0x32, 0x5a, 0xa6, 0x52, 0xd1, 0x6a, - 0x9a, 0x52, 0x85, 0x31, 0xb4, 0x06, 0x56, 0x66, 0xce, 0x2c, 0xe5, 0xc4, 0xb2, 0xcd, 0x86, 0xac, - 0x19, 0x50, 0x40, 0xcb, 0x20, 0x33, 0x73, 0x74, 0xd0, 0x6a, 0x1a, 0x70, 0x01, 0x21, 0xb0, 0x34, - 0x53, 0xac, 0xb4, 0x8e, 0x61, 0x9c, 0xab, 0x9d, 0xe8, 0x0d, 0x98, 0xe0, 0x6a, 0x66, 0xb5, 0x06, - 0x93, 0x5c, 0x43, 0x4b, 0xab, 0xd5, 0x20, 0xe4, 0xc0, 0x03, 0x53, 0x85, 0xbf, 0xf2, 0x62, 0x43, - 0x85, 0x88, 0xab, 0xb5, 0x8e, 0x55, 0xb8, 0xcc, 0x35, 0x7c, 0xae, 0x94, 0x4d, 0xf8, 0x1b, 0x57, - 0x94, 0x8f, 0xb5, 0x1a, 0x5c, 0xe1, 0xd4, 0xaa, 0x56, 0x83, 0xab, 0x3c, 0x38, 0x1e, 0xf3, 0x3b, - 0x57, 0xd4, 0x4d, 0x45, 0x85, 0x1b, 0x9c, 0x5a, 0x37, 0xff, 0x83, 0x7f, 0xfe, 0x38, 0x5b, 0x87, - 0x79, 0x0e, 0x6c, 0xaa, 0x2a, 0xfc, 0xab, 0xf0, 0x56, 0x00, 0xe2, 0xc3, 0xc1, 0x43, 0xdb, 0x60, - 0x4b, 0xc5, 0xb2, 0x59, 0xb7, 0x2b, 0xb2, 0xd1, 0x34, 0xb4, 0x8a, 0xdc, 0xd0, 0x4e, 0x65, 0x4b, - 0x6b, 0x1a, 0xb6, 0xdc, 0x50, 0x9b, 0x58, 0xb3, 0xea, 0x3a, 0x77, 0x6d, 0x12, 0x28, 0x3c, 0xae, - 0xc0, 0x55, 0x43, 0x2e, 0x6d, 0xef, 0xec, 0x41, 0xa1, 0xf0, 0x04, 0x64, 0xb8, 0x5c, 0xa2, 0x4d, - 0x90, 0x9f, 0xb4, 0xd0, 0x15, 0x7c, 0xd8, 0x50, 0x6c, 0x0b, 0x2b, 0x8a, 0x6d, 0x34, 0x0d, 0x2e, - 0x21, 0x85, 0x23, 0x90, 0xe1, 0x9e, 0x24, 0xda, 0x00, 0x7f, 0x54, 0x35, 0x55, 0x69, 0x59, 0xf7, - 0xfa, 0x9b, 0x47, 0x94, 0x1b, 0xf2, 0xa1, 0x52, 0x2a, 0xdb, 0xa5, 0xbd, 0xff, 0xa1, 0x50, 0xae, - 0x7d, 0xba, 0x12, 0x85, 0xcb, 0x2b, 0x51, 0xf8, 0x72, 0x25, 0x0a, 0xef, 0xaf, 0xc5, 0xd8, 0xe5, - 0xb5, 0x18, 0xfb, 0x7c, 0x2d, 0xc6, 0x4e, 0xb7, 0x1c, 0x37, 0xea, 0x0e, 0xcf, 0xa4, 0x76, 0xe0, - 0x15, 0xd9, 0x03, 0xfb, 0xd7, 0xa7, 0xd1, 0x28, 0x08, 0xcf, 0x6f, 0x76, 0x3d, 0xda, 0x71, 0x68, - 0x58, 0x7c, 0xcd, 0xfe, 0x0e, 0x67, 0x8b, 0xec, 0x25, 0xec, 0x7e, 0x0b, 0x00, 0x00, 0xff, 0xff, - 0x57, 0xcf, 0x61, 0xf0, 0x32, 0x06, 0x00, 0x00, + 0x0a, 0x55, 0x11, 0x75, 0x20, 0x94, 0x8a, 0x1e, 0x5a, 0xc9, 0x49, 0x1c, 0xc7, 0x10, 0x3b, 0xd6, + 0xc4, 0x50, 0xca, 0xc5, 0x1a, 0x92, 0xa9, 0x63, 0x11, 0xdb, 0x91, 0x63, 0x9a, 0xd2, 0x63, 0x6f, + 0xbd, 0xf5, 0x5f, 0x54, 0xfd, 0x27, 0x3d, 0x72, 0xec, 0xb1, 0x82, 0xfe, 0x90, 0x2a, 0x13, 0x02, + 0xe9, 0x34, 0xc0, 0xad, 0xb7, 0x99, 0x6f, 0x9e, 0xf7, 0xfd, 0x5e, 0x79, 0xbe, 0x31, 0x58, 0x0d, + 0xa9, 0x43, 0xfd, 0x62, 0x87, 0x44, 0xa4, 0xf8, 0x66, 0x8b, 0xf4, 0xfa, 0x5d, 0x52, 0x2a, 0x46, + 0xe7, 0x7d, 0x3a, 0x90, 0xfa, 0x61, 0x10, 0x05, 0x68, 0x91, 0x01, 0xd2, 0x08, 0x90, 0x26, 0x40, + 0x6e, 0xd5, 0x09, 0x02, 0xa7, 0x47, 0x8b, 0x0c, 0x39, 0x39, 0x7b, 0x5d, 0x8c, 0x5c, 0x8f, 0x0e, + 0x22, 0xe2, 0xf5, 0xc7, 0xaa, 0xfc, 0xf7, 0x04, 0x48, 0x57, 0x02, 0x3f, 0xa2, 0x7e, 0x54, 0x27, + 0x83, 0x2e, 0xda, 0x05, 0xf1, 0x90, 0x0c, 0xb3, 0xc2, 0x9a, 0xf0, 0x28, 0x5d, 0xfa, 0x5f, 0x9a, + 0xe1, 0x29, 0x4d, 0xe1, 0x12, 0x26, 0xc3, 0x7a, 0x0c, 0x8f, 0x24, 0xe8, 0x05, 0x48, 0x3a, 0x21, + 0xe9, 0x77, 0xb3, 0x73, 0x4c, 0xbb, 0xfe, 0xa0, 0x56, 0x1d, 0xd1, 0xf5, 0x18, 0x1e, 0xcb, 0x72, + 0x9f, 0x05, 0x10, 0xc7, 0x64, 0x88, 0x10, 0x48, 0x74, 0xc9, 0xa0, 0xcb, 0x22, 0xfc, 0x81, 0xd9, + 0x1a, 0x35, 0x01, 0xec, 0xb8, 0x0e, 0x1d, 0x44, 0x36, 0xe9, 0x39, 0x41, 0xe8, 0x46, 0x5d, 0x8f, + 0xb5, 0x59, 0xb8, 0x23, 0x62, 0x95, 0xc1, 0xf2, 0x84, 0xc5, 0x99, 0xce, 0xcf, 0x05, 0xf4, 0x1c, + 0x00, 0x8f, 0x76, 0x5c, 0x62, 0x8f, 0xbe, 0x60, 0x36, 0xce, 0xac, 0xc4, 0x99, 0x56, 0xfa, 0x08, + 0xb3, 0xce, 0xfb, 0x14, 0xa7, 0xbc, 0xc9, 0x32, 0xf7, 0x69, 0x0e, 0x24, 0x59, 0xfc, 0xdf, 0x93, + 0x36, 0x04, 0xb9, 0x36, 0xf1, 0x03, 0xdf, 0x6d, 0x93, 0x9e, 0xfb, 0x8e, 0x44, 0x6e, 0xe0, 0x4f, + 0x59, 0x8f, 0xd3, 0x6f, 0xcf, 0xb4, 0x66, 0x21, 0x2b, 0x9c, 0xf6, 0xb6, 0xd3, 0x4a, 0xfb, 0xae, + 0x23, 0xa4, 0x80, 0xb4, 0x47, 0xc3, 0xd3, 0x1e, 0xb5, 0xa3, 0x90, 0xd2, 0x6c, 0xe2, 0x9e, 0xfc, + 0xac, 0x89, 0xce, 0x60, 0x2b, 0xa4, 0x14, 0x03, 0xef, 0x66, 0x5d, 0x4e, 0x82, 0xf8, 0xe0, 0xcc, + 0xcb, 0xdb, 0x20, 0xdd, 0x72, 0x1d, 0x9f, 0x86, 0x8a, 0x1f, 0x85, 0xe7, 0x68, 0x19, 0xcc, 0x0f, + 0xd8, 0x96, 0x7d, 0xb7, 0x14, 0xbe, 0xde, 0xa1, 0x5d, 0x90, 0xba, 0x19, 0xd0, 0xeb, 0x39, 0xca, + 0x49, 0xe3, 0x11, 0x96, 0x26, 0x23, 0x2c, 0x59, 0x13, 0x02, 0xdf, 0xc2, 0x85, 0x0f, 0x71, 0x90, + 0xba, 0xb9, 0x2a, 0x94, 0x03, 0xcb, 0xba, 0x52, 0xd5, 0x64, 0xdb, 0x7a, 0x65, 0x2a, 0xf6, 0x81, + 0xd1, 0x32, 0x95, 0x8a, 0x56, 0xd3, 0x94, 0x2a, 0x8c, 0xa1, 0x15, 0xb0, 0x34, 0x75, 0x66, 0x29, + 0x47, 0x96, 0x6d, 0x36, 0x64, 0xcd, 0x80, 0x02, 0x5a, 0x04, 0x99, 0xa9, 0xa3, 0xbd, 0x56, 0xd3, + 0x80, 0x73, 0x08, 0x81, 0x85, 0xa9, 0x62, 0xa5, 0x75, 0x08, 0xe3, 0x5c, 0xed, 0x48, 0x6f, 0xc0, + 0x04, 0x57, 0x33, 0xab, 0x35, 0x98, 0xe4, 0x0c, 0x2d, 0xad, 0x56, 0x83, 0x90, 0x03, 0xf7, 0x4c, + 0x15, 0xfe, 0xc9, 0x8b, 0x0d, 0x15, 0x22, 0xae, 0xd6, 0x3a, 0x54, 0xe1, 0x22, 0x67, 0xf8, 0x52, + 0x29, 0x9b, 0xf0, 0x2f, 0xae, 0x28, 0x1f, 0x6a, 0x35, 0xb8, 0xc4, 0xa9, 0x55, 0xad, 0x06, 0x97, + 0x79, 0x70, 0xd4, 0xe6, 0x6f, 0xae, 0xa8, 0x9b, 0x8a, 0x0a, 0xd7, 0x38, 0xb5, 0x6e, 0x3e, 0x81, + 0xff, 0xfe, 0xda, 0x5b, 0x87, 0x79, 0x0e, 0x6c, 0xaa, 0x2a, 0xfc, 0xaf, 0xf0, 0x5e, 0x00, 0xe2, + 0xfd, 0x83, 0x87, 0x36, 0xc1, 0x86, 0x8a, 0x65, 0xb3, 0x6e, 0x57, 0x64, 0xa3, 0x69, 0x68, 0x15, + 0xb9, 0xa1, 0x1d, 0xcb, 0x96, 0xd6, 0x34, 0x6c, 0xb9, 0xa1, 0x36, 0xb1, 0x66, 0xd5, 0x75, 0xee, + 0xda, 0x24, 0x50, 0x78, 0x58, 0x81, 0xab, 0x86, 0x5c, 0xda, 0xdc, 0xda, 0x81, 0x42, 0xe1, 0x19, + 0xc8, 0x70, 0x73, 0x89, 0xd6, 0x41, 0x7e, 0x6c, 0xa1, 0x2b, 0x78, 0xbf, 0xa1, 0xd8, 0x16, 0x56, + 0x14, 0xdb, 0x68, 0x1a, 0xdc, 0x84, 0x14, 0x0e, 0x40, 0x86, 0x7b, 0x92, 0x68, 0x0d, 0xfc, 0x53, + 0xd5, 0x54, 0xa5, 0x65, 0xdd, 0x99, 0x6f, 0x16, 0x51, 0x6e, 0xc8, 0xfb, 0x4a, 0xa9, 0x6c, 0x97, + 0x76, 0x9e, 0x42, 0xa1, 0x5c, 0xfb, 0x72, 0x29, 0x0a, 0x17, 0x97, 0xa2, 0xf0, 0xed, 0x52, 0x14, + 0x3e, 0x5e, 0x89, 0xb1, 0x8b, 0x2b, 0x31, 0xf6, 0xf5, 0x4a, 0x8c, 0x1d, 0x6f, 0x38, 0x6e, 0xd4, + 0x3d, 0x3b, 0x91, 0xda, 0x81, 0x57, 0x64, 0x0f, 0xec, 0xb1, 0x4f, 0xa3, 0x61, 0x10, 0x9e, 0x5e, + 0xef, 0x7a, 0xb4, 0xe3, 0xd0, 0xb0, 0xf8, 0x96, 0xfd, 0xfd, 0x4f, 0xe6, 0xd9, 0x4b, 0xd8, 0xfe, + 0x11, 0x00, 0x00, 0xff, 0xff, 0x17, 0xca, 0xb8, 0x37, 0x12, 0x06, 0x00, 0x00, } func (m *ContentHash) Marshal() (dAtA []byte, err error) { diff --git a/x/group/genesis.pb.go b/x/group/genesis.pb.go index 092cf9853b..94bb61dae6 100644 --- a/x/group/genesis.pb.go +++ b/x/group/genesis.pb.go @@ -5,7 +5,6 @@ package group import ( fmt "fmt" - _ "github.com/gogo/protobuf/gogoproto" proto "github.com/gogo/protobuf/proto" io "io" math "math" @@ -144,30 +143,29 @@ func init() { } var fileDescriptor_6ccc5d002e96a4ab = []byte{ - // 358 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xbd, 0x4e, 0x02, 0x41, - 0x10, 0xc7, 0x39, 0xf9, 0x10, 0x16, 0xd0, 0xb8, 0xa1, 0xb8, 0x60, 0xb2, 0x02, 0x85, 0x21, 0x26, - 0xdc, 0x89, 0x16, 0x36, 0x36, 0x5a, 0x48, 0x2c, 0x48, 0xcc, 0x91, 0x58, 0xd8, 0x98, 0x03, 0xc7, - 0x85, 0x08, 0xb7, 0xc7, 0xee, 0x82, 0xfa, 0x16, 0x3e, 0x8f, 0x4f, 0x60, 0x49, 0x69, 0x69, 0xe0, - 0x45, 0xcc, 0xcd, 0x1e, 0x41, 0x93, 0x0b, 0xdd, 0xce, 0xec, 0xef, 0xff, 0x51, 0x0c, 0x69, 0x48, - 0xe0, 0x10, 0xb8, 0x5c, 0x8a, 0x59, 0xe8, 0xce, 0xdb, 0xfe, 0x38, 0x1c, 0xfa, 0x6d, 0x97, 0x43, - 0x00, 0x6a, 0xa4, 0x9c, 0x50, 0x0a, 0x2d, 0x68, 0x05, 0x19, 0x07, 0x19, 0x67, 0xcd, 0x54, 0x2b, - 0x5c, 0x70, 0x81, 0x80, 0x1b, 0xbd, 0x0c, 0x5b, 0xad, 0x25, 0xfa, 0xe9, 0xf7, 0x10, 0x62, 0xb7, - 0xc6, 0x67, 0x9a, 0x94, 0x3a, 0xc6, 0xbf, 0xa7, 0x7d, 0x0d, 0xf4, 0x90, 0x14, 0x10, 0x7f, 0x54, - 0x30, 0xb5, 0xad, 0x9a, 0xd5, 0xcc, 0x78, 0x79, 0x5c, 0xf4, 0x60, 0x4a, 0x2f, 0x48, 0x0e, 0xdf, - 0xca, 0xde, 0xa9, 0xa5, 0x9b, 0xc5, 0xb3, 0x23, 0x27, 0xa9, 0x8c, 0xd3, 0x89, 0xc6, 0xdb, 0xe0, - 0x59, 0x78, 0x31, 0x4e, 0x6f, 0x48, 0xd9, 0xb8, 0x4e, 0x60, 0xd2, 0x07, 0xa9, 0xec, 0x34, 0xea, - 0xeb, 0x5b, 0xf4, 0x5d, 0x24, 0xbd, 0x12, 0xdf, 0x0c, 0x8a, 0x9e, 0x90, 0x03, 0xe3, 0xe3, 0x0f, - 0x06, 0x62, 0x16, 0x68, 0x6c, 0x99, 0xc1, 0x96, 0xfb, 0xf8, 0x71, 0x65, 0xf6, 0x51, 0xd9, 0x2e, - 0xd9, 0xfb, 0xc7, 0x2a, 0x3b, 0x8b, 0xa1, 0xc7, 0x5b, 0x42, 0x63, 0x39, 0x76, 0x2f, 0xff, 0x35, - 0x54, 0xb4, 0x4e, 0x4a, 0xa1, 0x14, 0xa1, 0x50, 0xfe, 0x18, 0x53, 0x73, 0x98, 0x5a, 0x5c, 0xef, - 0xa2, 0xc4, 0x4b, 0x52, 0x58, 0x8f, 0xca, 0xde, 0xc5, 0x30, 0x96, 0x1c, 0x76, 0x17, 0x63, 0xde, - 0x46, 0x40, 0x4f, 0x49, 0x76, 0x2e, 0x34, 0x28, 0x3b, 0x8f, 0xca, 0x6a, 0xb2, 0xf2, 0x5e, 0x68, - 0xf0, 0x0c, 0x78, 0xdd, 0xf9, 0x5a, 0x32, 0x6b, 0xb1, 0x64, 0xd6, 0xcf, 0x92, 0x59, 0x1f, 0x2b, - 0x96, 0x5a, 0xac, 0x58, 0xea, 0x7b, 0xc5, 0x52, 0x0f, 0x2d, 0x3e, 0xd2, 0xc3, 0x59, 0xdf, 0x19, - 0x88, 0x89, 0x8b, 0x36, 0xad, 0x00, 0xf4, 0xab, 0x90, 0x2f, 0xf1, 0x34, 0x86, 0x27, 0x0e, 0xd2, - 0x7d, 0x33, 0xa7, 0xd1, 0xcf, 0xe1, 0x31, 0x9c, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x38, 0x49, - 0x53, 0x1b, 0x80, 0x02, 0x00, 0x00, + // 351 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xbd, 0x4e, 0x32, 0x41, + 0x14, 0x86, 0xd9, 0x8f, 0x9f, 0x0f, 0x06, 0xd0, 0x38, 0xb1, 0xd8, 0x60, 0x32, 0x02, 0x85, 0x21, + 0x26, 0xec, 0x8a, 0x16, 0x36, 0x36, 0x5a, 0x48, 0x2c, 0x48, 0xcc, 0x92, 0x58, 0xd8, 0x98, 0x05, + 0x8f, 0x03, 0x11, 0x76, 0x86, 0x99, 0x01, 0xf5, 0x2e, 0xbc, 0x1e, 0xaf, 0xc0, 0x92, 0xd2, 0xd2, + 0xc0, 0x8d, 0x18, 0xce, 0x2c, 0x41, 0x93, 0x0d, 0xdd, 0x9e, 0xb3, 0xcf, 0xfb, 0x3e, 0xa7, 0x18, + 0x52, 0x57, 0xc0, 0x21, 0xf2, 0xb9, 0x12, 0x53, 0xe9, 0xcf, 0x5a, 0xe1, 0x48, 0x0e, 0xc2, 0x96, + 0xcf, 0x21, 0x02, 0x3d, 0xd4, 0x9e, 0x54, 0xc2, 0x08, 0xba, 0x8f, 0x8c, 0x87, 0x8c, 0xb7, 0x66, + 0x2a, 0xd5, 0xc4, 0xa4, 0x79, 0x93, 0x10, 0xe7, 0xea, 0x1f, 0x69, 0x52, 0x6a, 0xdb, 0xa6, 0xae, + 0x09, 0x0d, 0xd0, 0x03, 0x52, 0x40, 0xfc, 0x41, 0xc3, 0xc4, 0x75, 0xaa, 0x4e, 0x23, 0x13, 0xe4, + 0x71, 0xd1, 0x85, 0x09, 0x3d, 0x27, 0x39, 0xfc, 0xd6, 0xee, 0xbf, 0x6a, 0xba, 0x51, 0x3c, 0x3d, + 0xf4, 0x92, 0xb4, 0x5e, 0x7b, 0x35, 0xde, 0x44, 0x4f, 0x22, 0x88, 0x71, 0x7a, 0x4d, 0xca, 0xb6, + 0x75, 0x0c, 0xe3, 0x1e, 0x28, 0xed, 0xa6, 0x31, 0x5f, 0xdb, 0x92, 0xef, 0x20, 0x19, 0x94, 0xf8, + 0x66, 0xd0, 0xf4, 0x98, 0xec, 0xd9, 0x9e, 0xb0, 0xdf, 0x17, 0xd3, 0xc8, 0xe0, 0x95, 0x19, 0xbc, + 0x72, 0x17, 0x7f, 0x5c, 0xda, 0xfd, 0xea, 0xd8, 0x0e, 0xd9, 0xf9, 0xc3, 0x6a, 0x37, 0x8b, 0xd2, + 0xa3, 0x2d, 0xd2, 0x38, 0x8e, 0xb7, 0x97, 0x7f, 0x17, 0x6a, 0x5a, 0x23, 0x25, 0xa9, 0x84, 0x14, + 0x3a, 0x1c, 0xa1, 0x35, 0x87, 0xd6, 0xe2, 0x7a, 0xb7, 0x32, 0x5e, 0x90, 0xc2, 0x7a, 0xd4, 0xee, + 0x7f, 0x94, 0xb1, 0x64, 0xd9, 0x6d, 0x8c, 0x05, 0x9b, 0x00, 0x3d, 0x21, 0xd9, 0x99, 0x30, 0xa0, + 0xdd, 0x3c, 0x26, 0x2b, 0xc9, 0xc9, 0x3b, 0x61, 0x20, 0xb0, 0xe0, 0x55, 0xfb, 0x73, 0xc1, 0x9c, + 0xf9, 0x82, 0x39, 0xdf, 0x0b, 0xe6, 0xbc, 0x2f, 0x59, 0x6a, 0xbe, 0x64, 0xa9, 0xaf, 0x25, 0x4b, + 0xdd, 0x37, 0xf9, 0xd0, 0x0c, 0xa6, 0x3d, 0xaf, 0x2f, 0xc6, 0x3e, 0xd6, 0x34, 0x23, 0x30, 0x2f, + 0x42, 0x3d, 0xc7, 0xd3, 0x08, 0x1e, 0x39, 0x28, 0xff, 0xd5, 0x3e, 0x8d, 0x5e, 0x0e, 0x1f, 0xc3, + 0xd9, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd8, 0x89, 0x43, 0xa8, 0x6a, 0x02, 0x00, 0x00, } func (m *GenesisState) Marshal() (dAtA []byte, err error) { diff --git a/x/group/query.pb.go b/x/group/query.pb.go index 606e039a91..c95883bba0 100644 --- a/x/group/query.pb.go +++ b/x/group/query.pb.go @@ -7,7 +7,6 @@ import ( context "context" fmt "fmt" query "github.com/cosmos/cosmos-sdk/types/query" - _ "github.com/gogo/protobuf/gogoproto" grpc1 "github.com/gogo/protobuf/grpc" proto "github.com/gogo/protobuf/proto" _ "google.golang.org/genproto/googleapis/api/annotations" @@ -1205,76 +1204,75 @@ func init() { func init() { proto.RegisterFile("regen/group/v1alpha1/query.proto", fileDescriptor_2523b81f3b315123) } var fileDescriptor_2523b81f3b315123 = []byte{ - // 1090 bytes of a gzipped FileDescriptorProto + // 1079 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xce, 0x94, 0xb4, 0x49, 0x5e, 0x5a, 0x8a, 0x06, 0x03, 0xee, 0x52, 0x9c, 0x74, 0xa9, 0x4a, - 0xd5, 0xc4, 0x3b, 0xb1, 0x4d, 0xea, 0x90, 0x80, 0x44, 0x8d, 0x44, 0x94, 0x43, 0xa4, 0x62, 0x24, - 0x84, 0xe0, 0x80, 0xd6, 0xf1, 0x74, 0x6b, 0x11, 0xef, 0xb8, 0xbb, 0xeb, 0xd0, 0x28, 0xb2, 0x84, + 0x18, 0xed, 0x94, 0xb4, 0x49, 0xbe, 0xb4, 0x14, 0x0d, 0x01, 0xdc, 0xa5, 0x38, 0xe9, 0x52, 0x95, + 0xaa, 0x89, 0x77, 0x62, 0x9b, 0xd4, 0x21, 0x01, 0x89, 0x1a, 0x89, 0x28, 0x87, 0x48, 0xc5, 0x48, + 0x08, 0xc1, 0x01, 0xad, 0xe3, 0xa9, 0x6b, 0x11, 0xef, 0xb8, 0xbb, 0xeb, 0xd0, 0x28, 0xb2, 0x84, 0x90, 0x80, 0x2b, 0x12, 0x12, 0x12, 0x08, 0x90, 0x38, 0xc1, 0x85, 0x1b, 0x9c, 0x90, 0x90, 0xb8, - 0xc1, 0x01, 0xa9, 0x82, 0x0b, 0x47, 0x94, 0xf0, 0x87, 0xa0, 0x9d, 0x1f, 0xf6, 0xae, 0x3d, 0x5e, - 0xef, 0x56, 0x56, 0xe0, 0xe6, 0x99, 0xbc, 0x6f, 0xde, 0xf7, 0xbe, 0xf7, 0x76, 0xe6, 0x53, 0x60, - 0xd9, 0xa3, 0x0e, 0x75, 0x89, 0xe3, 0xb1, 0x6e, 0x87, 0x1c, 0x94, 0xec, 0xfd, 0xce, 0x5d, 0xbb, - 0x44, 0xee, 0x75, 0xa9, 0x77, 0x68, 0x75, 0x3c, 0x16, 0x30, 0x9c, 0xe3, 0x11, 0x16, 0x8f, 0xb0, - 0x54, 0x84, 0xa1, 0xc7, 0x05, 0x87, 0x1d, 0xea, 0x0b, 0x9c, 0x71, 0xd9, 0x61, 0xcc, 0xd9, 0xa7, - 0xc4, 0xee, 0xb4, 0x88, 0xed, 0xba, 0x2c, 0xb0, 0x83, 0x16, 0x73, 0xd5, 0x5f, 0x73, 0x0e, 0x73, - 0x18, 0xff, 0x49, 0xc2, 0x5f, 0x72, 0xf7, 0xc6, 0x1e, 0xf3, 0xdb, 0xcc, 0x27, 0x0d, 0xdb, 0xa7, - 0x82, 0x04, 0x39, 0x28, 0x35, 0x68, 0x60, 0x97, 0x48, 0xc7, 0x76, 0x5a, 0x2e, 0x3f, 0x42, 0xc4, - 0x9a, 0x65, 0x78, 0xe2, 0xb5, 0x30, 0x62, 0x3b, 0xa4, 0xb0, 0xe3, 0xde, 0x61, 0x75, 0x7a, 0xaf, - 0x4b, 0xfd, 0x00, 0x5f, 0x82, 0x79, 0x4e, 0xeb, 0x9d, 0x56, 0x33, 0x8f, 0x96, 0xd1, 0xf5, 0xd9, - 0xfa, 0x1c, 0x5f, 0xef, 0x34, 0xcd, 0x5d, 0x78, 0x72, 0x18, 0xe3, 0x77, 0x98, 0xeb, 0x53, 0x5c, - 0x81, 0xd9, 0x96, 0x7b, 0x87, 0x71, 0xc0, 0x62, 0x79, 0xc9, 0xd2, 0x15, 0x6d, 0x0d, 0x60, 0x3c, - 0xd8, 0xdc, 0x80, 0xcb, 0x83, 0xe3, 0x6e, 0xed, 0xed, 0xb1, 0xae, 0x1b, 0x44, 0x99, 0xe4, 0x61, - 0xce, 0x6e, 0x36, 0x3d, 0xea, 0xfb, 0xfc, 0xdc, 0x85, 0xba, 0x5a, 0x9a, 0x6f, 0xc3, 0x33, 0x63, - 0x90, 0x92, 0xcf, 0x66, 0x8c, 0xcf, 0xb5, 0x04, 0x3e, 0x51, 0xb4, 0xa0, 0xd5, 0x83, 0xfc, 0xe0, - 0xf0, 0x5d, 0xda, 0x6e, 0x50, 0xcf, 0x9f, 0x2c, 0x0e, 0x7e, 0x15, 0x60, 0x20, 0x72, 0xfe, 0x8c, - 0x4c, 0x2c, 0x3a, 0x62, 0x85, 0x1d, 0xb1, 0xc4, 0x58, 0xc8, 0x8e, 0x58, 0xb7, 0x6d, 0x87, 0xca, - 0x63, 0xeb, 0x11, 0xa4, 0xf9, 0x0d, 0x82, 0x4b, 0x9a, 0xfc, 0xb2, 0xb0, 0x2d, 0x98, 0x6b, 0x8b, - 0xad, 0x3c, 0x5a, 0x7e, 0xe4, 0xfa, 0x62, 0xf9, 0x4a, 0x42, 0x6d, 0x02, 0x5c, 0x57, 0x08, 0xbc, - 0xad, 0xa1, 0xf8, 0xdc, 0x44, 0x8a, 0x22, 0x73, 0x8c, 0xe3, 0x61, 0x94, 0xa2, 0x5f, 0x3b, 0xbc, - 0xd5, 0x6c, 0xb7, 0x5c, 0xa5, 0x51, 0x0e, 0xce, 0xda, 0xe1, 0x5a, 0x36, 0x4d, 0x2c, 0xa6, 0x26, - 0xcf, 0xd7, 0x08, 0x0c, 0x5d, 0x6e, 0xa9, 0x4f, 0x15, 0xce, 0x71, 0x25, 0x94, 0x3c, 0x13, 0x47, - 0x51, 0x86, 0x4f, 0x4f, 0x9b, 0x0f, 0x11, 0x2c, 0x8f, 0x0c, 0xa7, 0x5f, 0x13, 0xcb, 0x53, 0x9c, - 0xa3, 0x9f, 0x10, 0x5c, 0x49, 0xe0, 0x21, 0xf5, 0xda, 0x85, 0x47, 0x05, 0x11, 0x5b, 0x06, 0x48, - 0xdd, 0xd2, 0x7e, 0x32, 0x17, 0x9c, 0xe8, 0xe9, 0xd3, 0x53, 0xf1, 0xfd, 0x31, 0x2a, 0x9e, 0xe2, - 0xa4, 0x8d, 0x13, 0x30, 0x3e, 0x70, 0xff, 0x57, 0x01, 0xab, 0x90, 0xe3, 0xe4, 0x6f, 0x7b, 0xac, - 0xc3, 0x7c, 0x7b, 0x5f, 0x69, 0xb6, 0x04, 0x8b, 0x1d, 0xb9, 0x35, 0x18, 0x3e, 0x50, 0x5b, 0x3b, - 0x4d, 0xf3, 0x75, 0xf9, 0x30, 0x0c, 0x80, 0xfd, 0x3b, 0x75, 0x5e, 0x85, 0xc9, 0x7b, 0xb5, 0xa0, - 0xaf, 0xb1, 0x8f, 0xec, 0xc7, 0x9b, 0x1f, 0x23, 0x78, 0x36, 0x76, 0xaa, 0x1a, 0x44, 0x59, 0xf8, - 0xc4, 0x2b, 0x7f, 0x6a, 0x5d, 0xfd, 0x1e, 0xc1, 0xd5, 0x64, 0x26, 0xb2, 0xdc, 0x17, 0x61, 0x41, - 0xd1, 0x57, 0x3d, 0x9d, 0x54, 0xef, 0x00, 0x30, 0xbd, 0x3e, 0xbe, 0x09, 0x4b, 0x9c, 0xee, 0x1b, - 0x2c, 0xa0, 0xb5, 0x3e, 0xe9, 0x70, 0xe5, 0xa5, 0x6d, 0x69, 0xf8, 0x9d, 0x1c, 0x84, 0x00, 0xce, - 0x63, 0xa1, 0x2e, 0x16, 0x66, 0x5d, 0x7e, 0x61, 0xda, 0x93, 0xa5, 0x08, 0x16, 0xcc, 0x86, 0xc1, - 0xb2, 0xdf, 0x86, 0xbe, 0xfe, 0x10, 0x52, 0xe7, 0x71, 0xe6, 0x47, 0x08, 0x9e, 0xee, 0x1f, 0xea, - 0xd7, 0x32, 0x4f, 0xdf, 0xd4, 0xda, 0xfc, 0x39, 0x92, 0xe6, 0x62, 0x84, 0x88, 0xac, 0x6c, 0x4d, - 0x68, 0xa2, 0x5a, 0x9b, 0x54, 0x9a, 0x08, 0x9c, 0x5e, 0x4b, 0xef, 0x4b, 0x83, 0x21, 0xa9, 0xc5, - 0x7a, 0xd9, 0x6f, 0x15, 0x8a, 0xb4, 0x6a, 0x6a, 0xaa, 0x7c, 0xa6, 0xbc, 0x45, 0x3c, 0xf5, 0x7f, - 0x2e, 0x49, 0xf9, 0xf7, 0x8b, 0x70, 0x96, 0x13, 0xc3, 0x5f, 0x22, 0x58, 0xe8, 0xbf, 0xce, 0x78, - 0x45, 0xcf, 0x41, 0xeb, 0x5c, 0x8d, 0xd5, 0x74, 0xc1, 0x22, 0xbd, 0xf9, 0xfc, 0x07, 0x7f, 0xfe, - 0xf3, 0xe9, 0x19, 0x0b, 0xaf, 0x12, 0xad, 0x17, 0x17, 0xb6, 0x80, 0x1c, 0xa9, 0x67, 0xba, 0x47, - 0x42, 0x73, 0x88, 0x7f, 0x40, 0xf0, 0xd8, 0xf0, 0x1d, 0x8e, 0xcb, 0x93, 0x12, 0x8f, 0x9a, 0x5b, - 0xa3, 0x92, 0x09, 0x23, 0x39, 0x57, 0x39, 0xe7, 0x12, 0x26, 0x89, 0x9c, 0xd5, 0x4b, 0x44, 0x8e, - 0xe4, 0xe5, 0xd9, 0xc3, 0xdf, 0x21, 0x38, 0x1f, 0xf5, 0x93, 0xd8, 0x9a, 0x94, 0x3e, 0x6e, 0x7c, - 0x0d, 0x92, 0x3a, 0x3e, 0x13, 0xd5, 0x88, 0xbc, 0xca, 0xa4, 0x7e, 0x8b, 0xe0, 0x42, 0xcc, 0xdb, - 0xe1, 0x89, 0xb9, 0x87, 0x7c, 0x81, 0xb1, 0x96, 0x1e, 0x20, 0xd9, 0x56, 0x38, 0xdb, 0x22, 0x5e, - 0x49, 0x16, 0x36, 0xc4, 0x70, 0x59, 0xdb, 0x2d, 0xb7, 0x87, 0x7f, 0x41, 0x90, 0xd3, 0x99, 0x2b, - 0x7c, 0x33, 0x65, 0x6f, 0x87, 0x5c, 0xa1, 0x51, 0xcd, 0x8c, 0x93, 0xf4, 0x37, 0x38, 0xfd, 0x32, - 0x5e, 0x4b, 0x2b, 0xb6, 0x1a, 0x11, 0xfc, 0xf3, 0x68, 0x0d, 0x42, 0xf4, 0x0c, 0x35, 0xc4, 0xb4, - 0xaf, 0x66, 0xc6, 0xc9, 0x1a, 0xd6, 0x79, 0x0d, 0x04, 0x17, 0xf5, 0x35, 0xc4, 0xb5, 0x1f, 0x14, - 0xf0, 0x05, 0x82, 0x79, 0x75, 0xb9, 0xe3, 0x1b, 0x09, 0xc9, 0x87, 0x9e, 0x22, 0x63, 0x25, 0x55, - 0x6c, 0x3a, 0x72, 0xfd, 0x77, 0x9f, 0x1c, 0x45, 0x9e, 0xb7, 0x1e, 0xfe, 0x03, 0xc1, 0x53, 0x63, - 0x7c, 0x06, 0x7e, 0x21, 0x45, 0x7e, 0xbd, 0x4b, 0x32, 0x36, 0x1f, 0x06, 0x2a, 0x2b, 0x79, 0x99, - 0x57, 0xb2, 0x89, 0x37, 0x12, 0x46, 0xa5, 0x38, 0x7a, 0x83, 0x0c, 0x4a, 0xc4, 0xbf, 0x21, 0x78, - 0x5c, 0xe3, 0x19, 0xf0, 0x7a, 0x02, 0xab, 0xf1, 0xee, 0xc5, 0xb8, 0x99, 0x15, 0x26, 0x0b, 0x79, - 0x85, 0x17, 0xf2, 0x12, 0xde, 0xca, 0xd4, 0x12, 0xc2, 0x1f, 0x2e, 0x72, 0xc4, 0xdf, 0xd5, 0x1e, - 0xfe, 0x11, 0xc1, 0xc5, 0x21, 0x87, 0x80, 0x4b, 0x13, 0x08, 0x8d, 0xda, 0x1a, 0xa3, 0x9c, 0x05, - 0x22, 0xf9, 0x6f, 0x71, 0xfe, 0xeb, 0xb8, 0xf2, 0x10, 0xfc, 0xf1, 0x57, 0x08, 0xce, 0x47, 0xdf, - 0xf0, 0xc4, 0xfb, 0x5c, 0xe3, 0x33, 0x12, 0xef, 0x73, 0x9d, 0x39, 0x30, 0x57, 0x39, 0xdd, 0x6b, - 0xf8, 0xaa, 0x9e, 0x2e, 0xd7, 0xb3, 0xaf, 0x6b, 0x6d, 0xfb, 0xd7, 0xe3, 0x02, 0x7a, 0x70, 0x5c, - 0x40, 0x7f, 0x1f, 0x17, 0xd0, 0x27, 0x27, 0x85, 0x99, 0x07, 0x27, 0x85, 0x99, 0xbf, 0x4e, 0x0a, - 0x33, 0x6f, 0x15, 0x9d, 0x56, 0x70, 0xb7, 0xdb, 0xb0, 0xf6, 0x58, 0x5b, 0x9c, 0x54, 0x74, 0x69, - 0xf0, 0x1e, 0xf3, 0xde, 0x95, 0xab, 0x7d, 0xda, 0x74, 0xa8, 0x47, 0xee, 0x8b, 0x04, 0x8d, 0x73, - 0xfc, 0xbf, 0x55, 0x95, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x7f, 0xf2, 0xc6, 0xce, 0x69, 0x13, - 0x00, 0x00, + 0xc1, 0x01, 0xa9, 0x82, 0x0b, 0x47, 0x94, 0xf0, 0x87, 0xa0, 0x9d, 0x1f, 0xde, 0x5d, 0x7b, 0xbc, + 0x3f, 0x2a, 0xab, 0x70, 0x1c, 0xe7, 0x7b, 0xf3, 0xbd, 0xf7, 0xbe, 0xd9, 0x99, 0xa7, 0xc0, 0xb2, + 0x4b, 0xdb, 0xd4, 0x21, 0x6d, 0x97, 0xf5, 0x7b, 0xe4, 0xa0, 0x6c, 0xef, 0xf7, 0xee, 0xd8, 0x65, + 0x72, 0xb7, 0x4f, 0xdd, 0x43, 0xab, 0xe7, 0x32, 0x9f, 0xe1, 0x45, 0x5e, 0x61, 0xf1, 0x0a, 0x4b, + 0x55, 0x18, 0x7a, 0x9c, 0x7f, 0xd8, 0xa3, 0x9e, 0xc0, 0x19, 0x97, 0xda, 0x8c, 0xb5, 0xf7, 0x29, + 0xb1, 0x7b, 0x1d, 0x62, 0x3b, 0x0e, 0xf3, 0x6d, 0xbf, 0xc3, 0x1c, 0xf5, 0xd7, 0xeb, 0x7b, 0xcc, + 0xeb, 0x32, 0x8f, 0x34, 0x6d, 0x8f, 0x8a, 0x76, 0xe4, 0xa0, 0xdc, 0xa4, 0xbe, 0x5d, 0x26, 0x3d, + 0xbb, 0xdd, 0x71, 0x78, 0xb1, 0xa8, 0x35, 0x2b, 0xf0, 0xc4, 0x6b, 0x41, 0xc5, 0x76, 0xd0, 0x6c, + 0xc7, 0xb9, 0xcd, 0x1a, 0xf4, 0x6e, 0x9f, 0x7a, 0x3e, 0xbe, 0x08, 0x73, 0x9c, 0xc0, 0x3b, 0x9d, + 0x56, 0x01, 0x2d, 0xa3, 0x6b, 0x33, 0x8d, 0x59, 0xbe, 0xde, 0x69, 0x99, 0xbb, 0xf0, 0xe4, 0x28, + 0xc6, 0xeb, 0x31, 0xc7, 0xa3, 0xb8, 0x0a, 0x33, 0x1d, 0xe7, 0x36, 0xe3, 0x80, 0x85, 0xca, 0x92, + 0xa5, 0x93, 0x67, 0x85, 0x30, 0x5e, 0x6c, 0x6e, 0xc0, 0xa5, 0x70, 0xbb, 0x9b, 0x7b, 0x7b, 0xac, + 0xef, 0xf8, 0x51, 0x26, 0x05, 0x98, 0xb5, 0x5b, 0x2d, 0x97, 0x7a, 0x1e, 0xdf, 0x77, 0xbe, 0xa1, + 0x96, 0xe6, 0xdb, 0xf0, 0xcc, 0x04, 0xa4, 0xe4, 0xb3, 0x19, 0xe3, 0x73, 0x35, 0x81, 0x4f, 0x14, + 0x2d, 0x68, 0x0d, 0xa0, 0x10, 0x6e, 0xbe, 0x4b, 0xbb, 0x4d, 0xea, 0x7a, 0xe9, 0xe6, 0xe0, 0x57, + 0x01, 0x42, 0x93, 0x0b, 0xa7, 0x65, 0x63, 0x31, 0x11, 0x2b, 0x98, 0x88, 0x25, 0x0e, 0x80, 0x9c, + 0x88, 0x75, 0xcb, 0x6e, 0x53, 0xb9, 0x6d, 0x23, 0x82, 0x34, 0xbf, 0x41, 0x70, 0x51, 0xd3, 0x5f, + 0x0a, 0xdb, 0x82, 0xd9, 0xae, 0xf8, 0xa9, 0x80, 0x96, 0x1f, 0xb9, 0xb6, 0x50, 0xb9, 0x9c, 0xa0, + 0x4d, 0x80, 0x1b, 0x0a, 0x81, 0xb7, 0x35, 0x14, 0x9f, 0x4b, 0xa5, 0x28, 0x3a, 0xc7, 0x38, 0x1e, + 0x46, 0x29, 0x7a, 0xf5, 0xc3, 0x9b, 0xad, 0x6e, 0xc7, 0x51, 0x1e, 0x2d, 0xc2, 0x19, 0x3b, 0x58, + 0xcb, 0xa1, 0x89, 0xc5, 0xd4, 0xec, 0xf9, 0x1a, 0x81, 0xa1, 0xeb, 0x2d, 0xfd, 0xa9, 0xc1, 0x59, + 0xee, 0x84, 0xb2, 0x27, 0xf5, 0x28, 0xca, 0xf2, 0xe9, 0x79, 0xf3, 0x21, 0x82, 0xe5, 0xb1, 0xc3, + 0xe9, 0xd5, 0xc5, 0xf2, 0x21, 0x9e, 0xa3, 0x9f, 0x10, 0x5c, 0x4e, 0xe0, 0x21, 0xfd, 0xda, 0x85, + 0x47, 0x05, 0x11, 0x5b, 0x16, 0x48, 0xdf, 0xb2, 0x7e, 0x32, 0xe7, 0xdb, 0xd1, 0xdd, 0xa7, 0xe7, + 0xe2, 0xfb, 0x13, 0x5c, 0x7c, 0x88, 0x27, 0x6d, 0x92, 0x81, 0xf1, 0x03, 0xf7, 0x7f, 0x35, 0xb0, + 0x06, 0x8b, 0x9c, 0xfc, 0x2d, 0x97, 0xf5, 0x98, 0x67, 0xef, 0x2b, 0xcf, 0x96, 0x60, 0xa1, 0x27, + 0x7f, 0x0a, 0x0f, 0x1f, 0xa8, 0x9f, 0x76, 0x5a, 0xe6, 0xeb, 0xf2, 0x61, 0x08, 0x81, 0xc3, 0x3b, + 0x75, 0x4e, 0x95, 0xc9, 0x7b, 0xb5, 0xa8, 0xd7, 0x38, 0x44, 0x0e, 0xeb, 0xcd, 0x8f, 0x11, 0x3c, + 0x1b, 0xdb, 0x55, 0x1d, 0x44, 0x29, 0x3c, 0xf5, 0xca, 0x9f, 0xda, 0x54, 0xbf, 0x47, 0x70, 0x25, + 0x99, 0x89, 0x94, 0xfb, 0x22, 0xcc, 0x2b, 0xfa, 0x6a, 0xa6, 0x69, 0x7a, 0x43, 0xc0, 0xf4, 0xe6, + 0xf8, 0x26, 0x2c, 0x71, 0xba, 0x6f, 0x30, 0x9f, 0xd6, 0x87, 0xa4, 0x83, 0x95, 0x9b, 0x75, 0xa4, + 0xc1, 0x77, 0x72, 0x10, 0x00, 0x38, 0x8f, 0xf9, 0x86, 0x58, 0x98, 0x0d, 0xf9, 0x85, 0x69, 0x77, + 0x96, 0x26, 0x58, 0x30, 0x13, 0x14, 0xcb, 0x79, 0x1b, 0x7a, 0xfd, 0x01, 0xa4, 0xc1, 0xeb, 0xcc, + 0x8f, 0x10, 0x3c, 0x3d, 0xdc, 0xd4, 0xab, 0xe7, 0x3e, 0x7d, 0x53, 0x1b, 0xf3, 0xe7, 0x48, 0x86, + 0x8b, 0x31, 0x22, 0x52, 0xd9, 0x9a, 0xf0, 0x44, 0x8d, 0x36, 0x49, 0x9a, 0x28, 0x9c, 0xde, 0x48, + 0xef, 0xc9, 0x80, 0x21, 0xa9, 0xc5, 0x66, 0x39, 0x1c, 0x15, 0x8a, 0x8c, 0x6a, 0x6a, 0xae, 0x7c, + 0xa6, 0xb2, 0x45, 0xbc, 0xf5, 0x7f, 0x6e, 0x49, 0xe5, 0xf7, 0x0b, 0x70, 0x86, 0x13, 0xc3, 0x5f, + 0x22, 0x98, 0x1f, 0xbe, 0xce, 0x78, 0x45, 0xcf, 0x41, 0x9b, 0x5c, 0x8d, 0xd5, 0x6c, 0xc5, 0xa2, + 0xbd, 0xf9, 0xfc, 0x07, 0x7f, 0xfe, 0xf3, 0xe9, 0x69, 0x0b, 0xaf, 0x12, 0x6d, 0xea, 0x16, 0xb1, + 0x80, 0x1c, 0xa9, 0x67, 0x7a, 0x40, 0x82, 0x70, 0x88, 0x7f, 0x40, 0xf0, 0xd8, 0xe8, 0x1d, 0x8e, + 0x2b, 0x69, 0x8d, 0xc7, 0xc3, 0xad, 0x51, 0xcd, 0x85, 0x91, 0x9c, 0x6b, 0x9c, 0x73, 0x19, 0x93, + 0x44, 0xce, 0xea, 0x25, 0x22, 0x47, 0xf2, 0xf2, 0x1c, 0xe0, 0xef, 0x10, 0x9c, 0x8b, 0xe6, 0x49, + 0x6c, 0xa5, 0xb5, 0x8f, 0x07, 0x5f, 0x83, 0x64, 0xae, 0xcf, 0x45, 0x35, 0x62, 0xaf, 0x0a, 0xa9, + 0xdf, 0x22, 0x38, 0x1f, 0xcb, 0x76, 0x38, 0xb5, 0xf7, 0x48, 0x2e, 0x30, 0xd6, 0xb2, 0x03, 0x24, + 0xdb, 0x2a, 0x67, 0x5b, 0xc2, 0x2b, 0xc9, 0xc6, 0x06, 0x18, 0x6e, 0x6b, 0xb7, 0xe3, 0x0c, 0xf0, + 0x2f, 0x08, 0x16, 0x75, 0xe1, 0x0a, 0xdf, 0xc8, 0x38, 0xdb, 0x91, 0x54, 0x68, 0xd4, 0x72, 0xe3, + 0x24, 0xfd, 0x0d, 0x4e, 0xbf, 0x82, 0xd7, 0xb2, 0x9a, 0xad, 0x8e, 0x08, 0xfe, 0x79, 0x5c, 0x83, + 0x30, 0x3d, 0x87, 0x86, 0x98, 0xf7, 0xb5, 0xdc, 0x38, 0xa9, 0x61, 0x9d, 0x6b, 0x20, 0xb8, 0xa4, + 0xd7, 0x10, 0xf7, 0x3e, 0x14, 0xf0, 0x05, 0x82, 0x39, 0x75, 0xb9, 0xe3, 0xeb, 0x09, 0xcd, 0x47, + 0x9e, 0x22, 0x63, 0x25, 0x53, 0x6d, 0x36, 0x72, 0xc3, 0x77, 0x9f, 0x1c, 0x45, 0x9e, 0xb7, 0x01, + 0xfe, 0x03, 0xc1, 0x53, 0x13, 0x72, 0x06, 0x7e, 0x21, 0x43, 0x7f, 0x7d, 0x4a, 0x32, 0x36, 0x1f, + 0x04, 0x2a, 0x95, 0xbc, 0xcc, 0x95, 0x6c, 0xe2, 0x8d, 0x84, 0xa3, 0x52, 0x1a, 0xbf, 0x41, 0x42, + 0x89, 0xf8, 0x37, 0x04, 0x8f, 0x6b, 0x32, 0x03, 0x5e, 0x4f, 0x60, 0x35, 0x39, 0xbd, 0x18, 0x37, + 0xf2, 0xc2, 0xa4, 0x90, 0x57, 0xb8, 0x90, 0x97, 0xf0, 0x56, 0xae, 0x91, 0x10, 0xfe, 0x70, 0x91, + 0x23, 0xfe, 0xae, 0x0e, 0xf0, 0x8f, 0x08, 0x2e, 0x8c, 0x24, 0x04, 0x5c, 0x4e, 0x21, 0x34, 0x1e, + 0x6b, 0x8c, 0x4a, 0x1e, 0x88, 0xe4, 0xbf, 0xc5, 0xf9, 0xaf, 0xe3, 0xea, 0x03, 0xf0, 0xc7, 0x5f, + 0x21, 0x38, 0x17, 0x7d, 0xc3, 0x13, 0xef, 0x73, 0x4d, 0xce, 0x48, 0xbc, 0xcf, 0x75, 0xe1, 0xc0, + 0x5c, 0xe5, 0x74, 0xaf, 0xe2, 0x2b, 0x7a, 0xba, 0xdc, 0xcf, 0xa1, 0xaf, 0xf5, 0xed, 0x5f, 0x8f, + 0x8b, 0xe8, 0xfe, 0x71, 0x11, 0xfd, 0x7d, 0x5c, 0x44, 0x9f, 0x9c, 0x14, 0x4f, 0xdd, 0x3f, 0x29, + 0x9e, 0xfa, 0xeb, 0xa4, 0x78, 0xea, 0xad, 0x52, 0xbb, 0xe3, 0xdf, 0xe9, 0x37, 0xad, 0x3d, 0xd6, + 0x15, 0x3b, 0x95, 0x1c, 0xea, 0xbf, 0xc7, 0xdc, 0x77, 0xe5, 0x6a, 0x9f, 0xb6, 0xda, 0xd4, 0x25, + 0xf7, 0x44, 0x83, 0xe6, 0x59, 0xfe, 0xdf, 0xaa, 0xea, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x76, + 0x66, 0x19, 0x58, 0x53, 0x13, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used.